I was writting the code for and app to add a record to the database: (I've translated the code from spanish, asume the code has no typo)
this is a form to add a currency, the currency has a country mapped to it. The xhtml form uses a tempate with <s:vallidateAll> Here the monedaNueva.xhtml: | <?xml version="1.0" encoding="UTF-8"?> | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | <html xmlns="http://www.w3.org/1999/xhtml" | xmlns:f="http://java.sun.com/jsf/core" | xmlns:h="http://java.sun.com/jsf/html" | xmlns:ui="http://java.sun.com/jsf/facelets" | xmlns:s="http://jboss.com/products/seam/taglib" | xmlns:a4j="http://richfaces.org/a4j" | xmlns:rich="http://richfaces.org/rich"> | <f:loadBundle basename="messages" var="m"/> | <ui:composition template="/WEB-INF/template.xhtml"> | <ui:define name="title" value="#{m['TIT_PRIN_CREA_currency']}"></ui:define> | <body> | | <ui:define name="body"> | <fieldset><h1><legend jsfc="h:outputText" value="#{m['E_CONTEN_DATOS_currency']}"></legend></h1> | <s:decorate template="editar.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="code" value="#{m['E_code']}"></label> | </ui:define> | <input jsfc="h:inputText" type="text" id="code" size="10" value="#{currency.code}"/> | </s:decorate> | <br/><br/> | <s:decorate template="editar.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="name" value="#{m['E_name']}"></label> | </ui:define> | <input jsfc="h:inputText" value="#{currency.name}" type="text" id="name" size="50" checked="checked" layout = "lineDirection"/> | </s:decorate> | <br/><br/> | <s:decorate template="editar.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="codeISO" value="#{m['E_COD_ISO']}"></label> | </ui:define> | <input jsfc="h:inputText" value="#{currency.codeIso}" type="text" id="codeISO" size="10" /> | </s:decorate> | <br/><br/> | <s:decorate template="editar.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="abreviacion" value="#{m['E_ABREV']}"></label> | </ui:define> | <input jsfc="h:inputText" value="#{currency.abreviacion}" type="text" id="abreviacion" size="10" /> | </s:decorate> | <br/><br/> | <s:decorate template="editar.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="country" value="#{m['E_country']}"></label> | </ui:define> | | <h:selectOneMenu id="country" value="#{currency.country}"> | <s:selectItems value="#{countryLista}" var="aCountry" label="#{aCountry.name}" /> | | </h:selectOneMenu> | <s:convertEntity /> | </s:decorate> | </fieldset> | </ui:define> | <ui:define name="BarraEspecifica"> | <h:commandButton value="#{m['BOTON_GRABAR']}" action="#{currencyAdministrador.save}"/> | <input type="submit" jsfc="h:commandButton" value="#{m['BOTON_GRABAR']}" action="#{currencyAdministrador.save}" view="/currencyList.xhtml" propagation="begin"/> | <input type="submit" jsfc="h:commandButton" value="#{m['BOTON_CANCELAR']}" action="#{currencyAdministrador.cancel}" view="/currencyList.xhtml" propagation="end"/> | </ui:define> | | </body> | </ui:composition> | </html> | | ... | <s:decorate template="edit.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="country" value="#{m['E_COUNTRY']}"></label> | </ui:define> | | <h:selectOneMenu id="country" value="#{currency.country}"> | <s:selectItems value="#{countryList}" var="aCountry" label="#{aContry.name}" /> | | </h:selectOneMenu> | | </s:decorate> | ... And an error came out: | Conversion Error setting value [EMAIL PROTECTED] 'null Converter'. | So I've added the <s:convertEntity /> under the <s:selectItems line: | ... | <s:decorate template="edit.xhtml"> | <ui:define name="label"> | <label jsfc="h:outputLabel" for="country" value="#{m['E_COUNTRY']}"></label> | </ui:define> | | <h:selectOneMenu id="country" value="#{currency.country}"> | <s:selectItems value="#{countryList}" var="aCountry" label="#{aContry.name}" /> | <s:convertEntity /> | </h:selectOneMenu> | | </s:decorate> | ... After I've added the <s:convertEntity /> I try enter the xhtml page and the following error comes out: | com.sun.facelets.tag.TagException: /monedaNueva.xhtml @55,48 <s:convertEntity> Parent not an instance of ValueHolder: [EMAIL PROTECTED] | at com.sun.facelets.tag.jsf.ConvertHandler.apply(ConvertHandler.java:93) | at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) | at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:122) | at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:310) | at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:280) | at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68) | at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) | at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) | at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) | at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:119) | at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) | at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) | at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248) | at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294) | at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273) | at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:144) | at com.sun.facelets.tag.ui.DecorateHandler.apply(DecorateHandler.java:105) | at org.jboss.seam.ui.handler.DecorateHandler.applyNextHandler(DecorateHandler.java:32) | at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) | at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) | at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64) | at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:131) | at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:310) | at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:280) | at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68) | at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) | at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) | at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) | at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314) | at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169) | at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109) | at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) | at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) | at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47) | at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) | at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248) | at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294) | at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273) | at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:144) | at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113) | at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49) | at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25) | at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95) | at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:524) | at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:567) | at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) | at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216) | at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106) | at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) | at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) | at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) | at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:307) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) | at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.jboss.seam.web.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:42) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) | at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) | at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58) | at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) | at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) | at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) | at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) | at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) | at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) | at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) | at java.lang.Thread.run(Thread.java:595) | can't solve it so far. Any ideas? (in advance, thanks for your time) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4114677#4114677 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4114677 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
