+ Start a Discussion
citydivercitydiver 

新規ウインドウへのパラメータ受け渡し

VisualForce にてコマンドリンクを使用して別ウインドウを表示しています。

 <apex:commandLink onclick="window.open('(URL)', 'WindowName')">Link</apex:commandLink>

このウインドウにパラメータを渡したいのですが、いろいろ調べてみてもやり方がよくわかりません。

 

コントローラを用いてこのようなやり方も試しましたが、これだと確かにパラメータは渡せるのですが、

別のタブが開いてしまい、別のウインドウにはならないようです。

<apex:commandLink action="{!NewPage}" target="_blank" >Link</apex:commandLink><br/>

public PageReference NewPage() {

  return Page.TargetPage;    

}

 

狙いとしては、標準オブジェクトのルックアップウインドウのようななものを作れて、それにパラメータを

渡せれば良いのですが、良い方法がありましたら教えてください。宜しくお願いします。

Best Answer chosen by Admin (Salesforce Developers) 
Mitch OkamotoMitch Okamoto

亀レスなんでもう解決してるかもですが、単純にGETリクエストのパラメータとしてくっつけるというのはいかがでしょう?

 

<apex:commandLink onclick="window.open('(URL)?parameter=hogehoge', 'WindowName')">Link</apex:commandLink>

 

英語ですが,Visualforce Developer GuideのPageReferenceクラス

http://www.salesforce.com/us/developer/docs/pages/Content/apex_pages_pagereference.htm

 

内、Example: Retrieving Query String Parametersの部分をご覧下さい。

端的に言うと

 

ApexPages.currentPage().getParameters().get('Id')

 と書けば、Idというリクエストパラメータの値が取得できます。

All Answers

Mitch OkamotoMitch Okamoto

亀レスなんでもう解決してるかもですが、単純にGETリクエストのパラメータとしてくっつけるというのはいかがでしょう?

 

<apex:commandLink onclick="window.open('(URL)?parameter=hogehoge', 'WindowName')">Link</apex:commandLink>

 

英語ですが,Visualforce Developer GuideのPageReferenceクラス

http://www.salesforce.com/us/developer/docs/pages/Content/apex_pages_pagereference.htm

 

内、Example: Retrieving Query String Parametersの部分をご覧下さい。

端的に言うと

 

ApexPages.currentPage().getParameters().get('Id')

 と書けば、Idというリクエストパラメータの値が取得できます。

This was selected as the best answer
citydivercitydiver

ご返答ありがとうございました。

実は同様の方法で、問題は解決しておりました。

質問時は少々難しく考えすぎていたところがあったみたいです。



あまりに初歩的な質問なのでスルーされたのだと思ってました(苦笑)。

周囲になかなか詳しい人がいないので、ここは助かります。