【发布时间】:2013-05-30 21:01:00
【问题描述】:
这里是交易:我有一个由我的托管 bean 中的列表填充的数据表。我想要的是用所选对象的信息打开一个简单的 primefaces 对话框,我试图通过使用 setPropertyActionListener 和 onclick 事件来做到这一点。
<p:commandButton id="basic" value="Resumo" onclick="dlg1.show();"
type="button"
>
<f:setPropertyActionListener target="#{consultaArtigoBean.artigoSelecionado}"
value="#{artigo}" />
</p:commandButton>
还有对话
<p:dialog id="basicDialog" header="Resumo - #{consultaArtigoBean.artigoSelecionado.titulo}"
widgetVar="dlg1"
dynamic="true">
#{consultaArtigoBean.artigoSelecionado.resumo}
</p:dialog>
事情是动作在 setPropertyActionListener 生效之前执行。所以弹出的对话框没有任何对象。
我应该怎么做才能确保 setProperty 在操作之前执行,从而设置我的对象。
更新
这里的另一个主题帮助回答了这个问题。 Pass a value from h:outputLink to JSF after onclick event
结果是:
<p:commandLink id="basic" value="Resumo"
oncomplete="dlg1.show();"
update="@form">
<f:setPropertyActionListener target="#{consultaArtigoBean.artigoSelecionado}"
value="#{artigo}" />
</p:commandLink>
和对话框
<p:dialog id="basicDialog" header="Resumo - #{consultaArtigoBean.artigoSelecionado.titulo}"
widgetVar="dlg1"
dynamic="true">
#{consultaArtigoBean.artigoSelecionado.resumo}
</p:dialog>
【问题讨论】:
标签: jsf-2 primefaces