我是jsf 2.0和spring 3.0的新手,我需要在jsf 2.0中使用自定义转换器。但是当我访问我的xhtml页面时它显示异常时无法识别 “找不到命名的对象”。我使用了@FacesConverter注释用于自定义转换器,它在h:selectOneMenu中使用。但是我得到了错误。在这个任何一个帮助...
@FacesConverter("selectItemsConverter")
public class SelectItemsConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent component, String value) {
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
}
}
h:selectOne菜单代码如下:
<h:selectOneMenu style="width:100px;height:24px;" rendered ="#{row.edit}" value="#{row.modelo.country}" converter="selectItemsConverter" required="true" requiredMessage="#{msg['veci.admin.ccaa.pais.empty']}">
<f:selectItems value="#{communityView.countries}" var="con" itemLabel="#{con.nombrePais}"/>
</h:selectOneMenu>
谢谢大家.............
答案 0 :(得分:3)
如果您想通过其converterID调用转换器,则需要按如下方式更改代码:
<h:selectOneMenu style="width:100px;height:24px;"
rendered ="#{row.edit}"
value="#{row.modelo.country}"
required="true"
requiredMessage="#{msg['veci.admin.ccaa.pais.empty']}">
<f:converter converterId="selectItemsConverter"/>
<f:selectItems .../>
</h:selectOneMenu>
h:selectOneMenu
的转换器属性需要一个完全限定的类名,例如:
<h:inputText
converter="javax.faces.convert.IntegerConverter" />
如果您想为转换器提供自定义ID,请使用value
参数:
@FacesConverter(value="selectItemsConverter")