{0}:发生转换错误(在SelectOneMenu中)

时间:2014-04-26 17:39:39

标签: jsf

我有以下问题 - 我有一个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,我不知道如何摆脱它。我感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

我让方法 getAsString 返回“”:

public String getAsString(FacesContext context, UIComponent component,
            Object value) {
        if (value == null) {
                        return ""; 
        }

并在属性为空时将逻辑放入Java类中,不要在DB中写入。