这是我的h:selectOneMenu
部分,其中下拉列表在UI上显示3个值(A,B& C)(我们在包含A,B,C的bean中有domainList方法):
<h:form id="MainForm">
<h:panelGrid columns="1">
<h:selectOneMenu id="domainList" value="#{bean.domain}" listener="#{bean.changeDomainValue}">
<f:selectItem itemLabel="#{msg.abc }"/>
<f:selectItems value="#{bean.dMap.entrySet()}"
var="entry" itemLabel="#{entry.key}" itemValue="#{entry.value}"/>
<f:ajax event="change" render="??????"/>
</h:selectOneMenu>
</h:panelGrid>
如果我从下拉列表中选择Value="C"
,我需要在现有表单中添加两个复选框(一个额外的字段),这是我的担忧:
<h:panelGrid columns="2">
<h:outputLabel value="#{msg.box1}"></h:outputLabel>
<h:selectBooleanCheckbox value="#{bean.chkBox1}"></h:selectBooleanCheckbox>
</h:panelGrid>
<h:panelGrid columns="2">
<h:outputLabel value="#{msg.box2} :"></h:outputLabel>
<h:selectBooleanCheckbox value="#{bean.chkBox2}"></h:selectBooleanCheckbox>
</h:panelGrid>
</h:form>
这是我的Bean.java
:
private void changeDomainValue(ValueChangeEvent e) {
if (e.getNewValue() == "C") {
this.chkBox1 = "true";
this.chkBox2 = "true";
} else
this.chkBox1 = "false";
this.chkBox2 = "false";
//return false;
}
问题:要在渲染属性上添加什么,这样只有当我选择domainList= "c"
时才会填充这两个复选框?