在我的xhtml页面中,<selectOneMenu>
我在<f:selectItem>
中将null设置为itemValue但是我得到空字符串“”但是我希望它为null
以下是我的代码请检查并给出我的解决方案。
<h:selectOneMenu id="gender" required="false" value="#{pc_allotteeCreation.allotteeVO.aloteGender}"
styleClass="col-xs-10 col-sm-5"
requiredMessage="#{i18n['common.validation_message']}">
<f:selectItem itemValue="#{null}" itemLabel="Select" />
<f:selectItem itemValue="Male" itemLabel="Male" />
<f:selectItem itemValue="Female" itemLabel="Female" />
<f:selectItem itemValue="TransGender" itemLabel="TransGender" />
<p:ajax update="gndmsg" event="blur" />
</h:selectOneMenu>
<p:message id="gndmsg" for="gender" showDetail="true"></p:message>
答案 0 :(得分:1)
将以下行添加到web.xml,将空字符串解释为null
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
答案 1 :(得分:0)
h:selectOneMenu
返回所选项目的字符串类型。您需要一些服务器逻辑来将返回的字符串值映射到对象或null
。通常这可以通过转换器来完成。
Here is an example用于JSF中的自定义转换器。