validator method inputtext getasstring faces ejemplo java jsf-2 converter

java - method - El convertidor JSF 2.0 no funciona desde archivo jar separado



jsf converter selectonemenu (1)

Tengo un convertidor personalizado para seleccionar un país en un componente SelectOneMenu:

Archivo: address.jar

@FacesConverter(value="CountryConverter", forClass=Country.class) public class CountryConverter implements Converter { private CountryBean countryBean = CountryBean.getCountryService(); @Override public Object getAsObject(FacesContext context, UIComponent component, String value) { return countryBean.find(value); } @Override public String getAsString(FacesContext context, UIComponent component, Object value) { if (value != null) return ((Country)value).getcc_fips(); else return null; }

Y este es el texto xhtml:

Archivo: raíz del proyecto

<h:selectOneMenu id="country" value="#{cc.attrs.addrEntity.country}"> <f:selectItem itemLabel="Please select one..." noSelectionOption="true" /> <f:selectItems value="#{cc.attrs.addrBean.countries}" var="model" itemLabel="#{model.name}" itemValue="#{model}" noSelectionValue="&#8220;no selection&#8221;"/> <f:converter ConverterId="CountryConverter"/> </h:selectOneMenu>

Tengo el convertidor en un archivo " address.jar " y cuando trato de abrir la página para escribir la dirección, responde diciendo "Expression Error: Objeto con el nombre MyCustomCoverter no encontrado". . Incluso cuando copie el convertidor al proyecto donde están los archivos xhtml, entonces funciona bien. ¿Qué puedo hacer para resolver esto?

¿Por qué no funciona desde un archivo jar separado?

Gracias.


/META-INF/faces-config.xml proporcionar un archivo /META-INF/faces-config.xml compatible con JSF 2.0 en el archivo JAR para que JSF escanee automáticamente el archivo JAR para las clases con anotaciones JSF.

<?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0"> </faces-config>

Sin ese archivo, JSF no escaneará automáticamente el archivo JAR para ahorrar rendimiento y, por lo tanto, su @FacesConverter no se encontrará ni se registrará.