我有以下问题 - 我有一个SelectOneMenu,第一项只是一个信息,要求用户从放置项目菜单中选择项目,然后是真正的值。我有一个转换器,当我从下拉菜单中选择和元素时正常工作,但是当用户没有选择任何内容时我记下此错误 {0}:发生转换错误。
这是selectOneMenu的逻辑:
<h:selectOneMenu value="#{requestBean.selectedEventType}"
converter="tEventTypeConverter"
required="true" requiredMessage="Please, select item!">
<f:selectItem itemLabel="Избери тип" itemvalue="#{null}"/>
<f:selectItems value="#{eventTypeBean.selectItems}" var="eventType"
itemLabel="#{eventType.eventTypeName}" itemValue="#{eventType}" />
</h:selectOneMenu>
这是Converter类中失败的部分:
public String getAsString(FacesContext context, UIComponent component,
Object value) {
if (value == null) {
return null;
}
...
当没有选择任何元素时,该事件没有向我显示消息“请选择项目!”。它将第一个视为NULL,我不知道如何摆脱它。我感谢任何帮助。
答案 0 :(得分:-1)
我让方法 getAsString 返回“”:
public String getAsString(FacesContext context, UIComponent component,
Object value) {
if (value == null) {
return "";
}
并在属性为空时将逻辑放入Java类中,不要在DB中写入。