お世話になっております。
PrimeFaces5.0で、dialogFrameworkを利用してポップアップを表示し
呼び出し元画面にポップアップ画面内のリスト選択値を戻したいと思っています。
PrimeFaces Show Case のサンプルを参考に実装していますが
RequestContext.getCurrentInstance().closeDialog実行後に
ajaxタグで指定しているdialogReturnイベントの処理が実行されません。
何かポイントがあるのでしょうか?
(documentに記載のあるfaces-config.xmlの設定はしております)
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
Primefaceのajaxタグを使用したところ、ダイアログの選択結果が反映出来ました。
呼び側のページコードです。
HTML
1 <h:form id="form1"> 2 Hello from Facelets 3 <br /> 4 <h:inputText id="dummyTextInput" value="#{dfView.atext}" /> 5 <p:commandButton value="view" actionListener="#{dfView.viewCars()}" > 6 <p:ajax event="dialogReturn" listener="#{dfView.handleReturn}" update="dummyTextInput" /> 7 </p:commandButton> 8 </h:form>
BackingBean
Java
1import java.io.Serializable; 2import javax.enterprise.context.SessionScoped; 3import javax.inject.Named; 4import org.primefaces.context.RequestContext; 5import org.primefaces.event.SelectEvent; 6 7@Named("dfView") 8@SessionScoped 9public class DFView implements Serializable{ 10 11 String Atext; 12 13 public void viewCars() { 14 RequestContext.getCurrentInstance().openDialog("viewCars"); 15 } 16 17 public void selectCarFromDialog(Car car) { 18 RequestContext.getCurrentInstance().closeDialog(car); 19 } 20 21 public void handleReturn(SelectEvent event) { 22 Car car = (Car) event.getObject(); 23 Atext=car.brand; 24 } 25 26 public void selectCar(Car car) { 27 Atext=car.brand; 28 } 29 30 31 public String getAtext() { 32 return Atext; 33 } 34 35 public void setAtext(String Atext) { 36 this.Atext = Atext; 37 } 38 39} 40
daialogのページです。
HTML
1 <h:form> 2 <p:dataTable var="car" value="#{carList.cars}"> 3 <p:column headerText="Id"> 4 <h:outputText value="#{car.id}" /> 5 </p:column> 6 7 <p:column headerText="Year"> 8 <h:outputText value="#{car.year}" /> 9 </p:column> 10 11 <p:column headerText="Brand"> 12 <h:outputText value="#{car.brand}" /> 13 </p:column> 14 15 <p:column headerText="Color"> 16 <h:outputText value="#{car.color}" /> 17 </p:column> 18 19 <p:column headerText="select"> 20 <p:commandButton icon="ui-icon-search" 21 actionListener="#{dfView.selectCarFromDialog(car)}" /> 22 </p:column> 23 24 </p:dataTable> 25 </h:form>
ご参考までに。
※先の回答は外していたようなので、削除いたしました。
投稿2015/09/21 01:17
編集2015/09/24 09:15総合スコア1339
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/25 02:39