显示项目标签下拉列表,单选按钮,许多复选框和布尔复选框而不是项目值

时间:2016-12-21 14:15:40

标签: jsf-2

我正在制作一个有各种元素的客户资料页面。 h:selectOneMenuh:selectOneRadioh:selectBooleanCheckboxh:selectManyCheckbox使用List<MasterDTO>使用数据库中的主值填充。页面处于编辑模式时,元素显示完美。但是,当页面更改为查看模式时,将显示所选项目值,而不是显示所选项目标签。例如。需要在查看模式中将Single显示为Marital Status,而是显示001

请参阅下面的示例代码。我不希望在所有代码中将List对象更改为Map<K,V>之类的内容。我正在使用JSF 2.0和Primefaces 3.4.2。有解决方案吗?

选择一个菜单

<h:selectOneMenu id="marital_status" style="width:178px;"
    rendered="#{customerProfileBean.editMode}"
    value="#{customerProfileBean.marital_status}">
    <f:selectItem itemValue="-1" itemLabel="--- Select ---" />
    <f:selectItems value="#{customerProfileBean.maritalStatusList}"
        var="mst" itemLabel="#{mst.valueName}" itemValue="#{mst.valueCode}" />
</h:selectOneMenu>
<h:outputText rendered="#{not customerProfileBean.editMode}"
    value="#{customerProfileBean.marital_status}" />

选择多个复选框

<h:selectManyCheckbox id="loanTypes" styleClass="selectOptionSpace"
    rendered="#{customerProfileBean.editMode}"
    value="#{customerProfileBean.loanTypes}">
    <f:selectItems value="#{customerProfileBean.creditFacList}"
        var="mst" itemLabel="#{mst.valueName}" itemValue="#{mst.valueCode}" />
</h:selectManyCheckbox>
<h:outputText rendered="#{not customerProfileBean.editMode}"
    value="#{customerProfileBean.custLoanType}" />

1 个答案:

答案 0 :(得分:0)

使用primefaces控件替换jsf控件。 p:selectOneMenup:selectManyCheckbox解决了显示值而不是代码的问题。