- PR -

commandLink でサブウィンドウにパラメータを渡すには

1
投稿者投稿内容
ヒデユキ
会議室デビュー日: 2008/02/11
投稿数: 5
投稿日時: 2008-02-11 21:42
初めまして。ヒデユキと申します。
開発環境はeqlipse、JSFを使っています。

[やりたい事]
コマンドリンクを押下して開かれるサブウィンドウにパラメータを渡したい。

[現在の状況]
<h:dataTable id="tb1" headerClass="hd" columnClasses="col,col,col" border="0" var="mail" value="#{xxx.xxxxxxx}">
<h:column>
<h:commandLink onclick="window.open('xxx.jsp','xxxxxx','menubar=no,height=400,width=300');">
<h:outputText id="id1" value="#{mail.xxxxxx}"/>
<f:param name="userid" value="#{mail.xxxxxx}"/>
</h:commandLink>
</h:column>
</h:dataTable>

このようなソースコードを書き、実行してみたところ、リンクをクリックしてもエラーが出ました。
エラーの内容から判断するに、パラメータがうまく渡っていない事が分かりました。

<h:commandLink> を <h:outputLink> に変えるとうまく行きますが、それでは、サブウィンドウを開くことは出来ません。画面内遷移になってしまいます。

どうすればcommandLink でサブウィンドウにパラメータを渡す事が出来ますか?
まごまご
常連さん
会議室デビュー日: 2005/11/16
投稿数: 24
投稿日時: 2008-02-13 11:57
引用:

<h:commandLink> を <h:outputLink> に変えるとうまく行きますが、それでは、サブウィンドウを開くことは出来ません。画面内遷移になってしまいます。

どうすればcommandLink でサブウィンドウにパラメータを渡す事が出来ますか?



むかし、少し勉強していた頃の記憶ですが、
<h:outputLink>にtarget属性があると思います。
target="_subwindow" 等で実現出来ないでしょうか。
パラメータは受け取れる事を確認していらっしゃるとの事ですので、
仕様的に問題なければ大丈夫かと思います。(ただしGETだったと思います。)
勉強中はcommandLinkはcommandButtonのリンク版
だと思っていたのでここでは敢えて触れません。

追記
今回の「commandLink でサブウィンドウにパラメータを渡すには」の回答にはなっていないですね。申し訳ありません。

[ メッセージ編集済み 編集者: まごまご 編集日時 2008-02-13 12:03 ]
ヒデユキ
会議室デビュー日: 2008/02/11
投稿数: 5
投稿日時: 2008-02-20 23:04
まごまごさんご丁寧に説明ありがとうございます。
まごまごさんの方法も試してみましたが、サイズやメニューバーの設定が出来ません。

説明不足で申し訳ありませんが「画面外遷移でかつウィンドウサイズの指定とメニューバーの取り外しが可能」と言うのが必須です。

言い換えると

[やりたい事]
コマンドリンクを押下して開かれるサブウィンドウにパラメータを渡したい。
→画面外遷移で開かれる300×400のメニューバーなしのサブウィンドウにパラメータを渡したい。

となります。

何か良い案がありましたら返信お願いします。
1

スキルアップ/キャリアアップ(JOB@IT)