【发布时间】:2011-11-02 11:41:36
【问题描述】:
我有这个commandButton:
<p:commandButton value="View/Edit" onclick="bar.show()"
oncomplete="bar.hide(); dataSetUserDialog.show();"
actionListener="#{dataStoreBean.initUserLists}">
<p:ajax event="?" update="userSelect" ></p:ajax>
<f:param name="checkSum" value="#{dataSet.checkSum}" />
</p:commandButton>
还有这个dialog,里面有一个selectManyMenu:
<p:dialog header="View or Edit #{dataStoreBean.currentDataSetName} users"
widgetVar="dataSetUserDialog" modal="true" width="500" height="200">
<h:form>
<p:selectManyMenu id="userSelect" value="#{dataStoreBean.selectedUsers}" style="width: 475px;">
<f:selectItems value="#{dataStoreBean.users}"
var="user" itemValue="#{user.email}"
itemLabel="#{user.email} | #{user.groupName}" />
</p:selectManyMenu>
<p:commandButton value="Done"
actionListener="#{dataStoreBean.updateDataSetsUsers}"
onclick="dataSetUserDialog.hide()" type="submit" />
</h:form>
</p:dialog>
我想要实现的是在我想要显示的对话框中更新信息。 userSelect 在该对话框中。所以首先我要执行#{dataStoreBean.initUserLists},然后更新(重新渲染)userSelect,然后显示dataSetUserDialog。我该怎么做?
【问题讨论】:
-
我不确定你们都已经尝试过什么以及为什么它们还不够,但是默认事件
action有什么问题? IE。只需完全删除event属性即可。 -
@BalusC 谢谢,有时我真的应该学习/记住 JSF 生命周期。
标签: java ajax jsf primefaces