【发布时间】:2015-12-05 05:23:27
【问题描述】:
我使用 Primefaces 5,我想将 selectonemenu 重置为默认值。
我有一个分页结构,所以:
<p:fragment>
<p:tabView id="tabview1" cache="false" dynamic="true" >
<p:tab title="One" id="tab1">
<ui:include src="tab1.xhtml" />
</p:tab>
<p:tab title="Two" id="tab2" >
<ui:include src="tab2.xhtml"/>
</p:tab>
</p:tabView>
</p:fragment>
那么,例如tab1.xhtml是这样的:
<h:form id="frm1">
<table id="tbl1">
<tr>
<td>
<p:selectOneMenu id="select1"
value="#{bean.test}"
valueChangeListener="#{bean.setXXX}"
var="var1" >
<f:selectItem itemLabel="Select..."
itemValue="#{null}" />
<f:selectItems var="var2"
value="#{bean.list}"
itemLabel="#{var2.label}"
itemValue="#{var2}"/>
<p:ajax process="@this" event="change" update="@this"/>
</p:selectOneMenu>
</td>
</tr>
</table>
</h:form>
我相信要重置我的 selectonemenu,我可以在我的 setXXX 方法中编写: RequestContext.getCurrentInstance().reset("tabView1:tab1:frm1:tbl1:select1");
不起作用,并且我有异常“Caused by: java.lang.IllegalArgumentException”
有什么想法吗?什么是正确的重置路径?
谢谢
【问题讨论】:
标签: java html jsf jsf-2 primefaces