情况:
我想根据下拉选项在页面上显示特定的panelGrid。我这样做是通过存储几个布尔值,根据下拉列表中选择的项目将其设置为true / false。我使用onchange =" submit()"刷新/重新渲染页面。
问题:
我在表单中的许多字段上进行了验证,因此如果我选择一个项目,它会进行验证并且不会显示表单。
问题:
如何让selectOneMenu更改仅重新呈现受影响的页面上的控件集而不是整个页面并导致验证?
代码:(JSF 1.2)
<h:selectOneMenu id="list" value="#{sessionBean.myDecorator.selectedItem}"
onchange="submit()" immediate="true" required="true"
valueChangeListener="#{requestBean.listChanged}">
<f:selectItem itemValue="#{null}" itemLabel="--Select One--" noSelectionOption="true" />
<f:selectItems value="#{sessionBean.myDecorator.mapItems}" />
</h:selectOneMenu>
字段导致验证:
<h:inputTextarea id="lblRequiredField" cols="100" rows="3" required="true" immediate="true"
value="#{sessionBean.myDecorator.myDo.myField}">
<f:validateLength minimum="1" maximum="300" />
</h:inputTextarea>