jsf标准转换器和primefaces选择一个菜单

时间:2013-06-07 03:18:29

标签: primefaces converter

当选择一个菜单的“选择”选项时,默认值在DB中保存为0.我可以将其更改为null吗? select one菜单的值绑定到bean属性。为此,我使用了select one菜单组件的converter属性。但它似乎没有将空字符串转换为null。我错过了什么?

<p:panelGrid columns="2" >
    <p:outputLabel value="District" />
    <p:selectOneMenu value="#{cJData.cJ.dC}" converter="javax.faces.Long">
        <p:ajax listener="#{cJActionHandler.selectDC}"/>
        <f:selectItem itemLabel="Select" itemValue="" />
        <f:selectItems value="#{cJData.DCs}" var="coun" 
            itemLabel="#{coun.name}" itemValue="#{coun.id}" />
    </p:selectOneMenu>
</p:panelGrid>

1 个答案:

答案 0 :(得分:0)

使用以下

<f:selectItem itemLabel="Select" itemValue="#{null}" />

正如LongConverter#getAsObject的{​​{3}}所说 - 这是您提交值时调用的方法 - Long转换器只会将null转换为{{1} }}