Hi,

I've got problem with <s:selectItems> control. I try to populate it with the 
list from my Dictionary class:

  | @Name("dictionary")
  | public class Dictionary implements Serializable{
  |     
  |     List<SelectItem> sexList;
  |             
  |     public Dictionary(){
  |             
  |             sexList = new ArrayList<SelectItem>();
  |             
  |             sexList.add(new SelectItem('F', 
ResourceBundle.instance().getString("sexFemale")));
  |             sexList.add(new SelectItem('M', 
ResourceBundle.instance().getString("sexMale")));
  |              
  |             
  |             
  |             
  |             employedList = new ArrayList<SelectItem>();
  |             employedList.add(new SelectItem("0", 
ResourceBundle.instance().getString("labelYes")) );
  |             employedList.add(new SelectItem("1", 
ResourceBundle.instance().getString("labelNo")) );
  |             
  |             
  |             
  |     }
  |     
  |     
  |     public Dictionary createInstance(){
  |             Dictionary dictionary = new Dictionary();
  |             return dictionary;
  |     }
  | 
  |     
  | 
  |     public List<SelectItem> getSexList() {
  |             return sexList;
  |     }
  | 
  |     public void setSexList(List<SelectItem> sexList) {
  |             this.sexList = sexList;
  |     }
  |     
  |     
  | 
  | }
  | 
  | 

my facelet contains the following code:


  | ...
  | <h:selectOneMenu value="#{profileHome.instance.sexFlag}">
  |         <s:selectItems value="#{dictionary.sexList}" var="sex" 
label="#{sex.label}" /> 
  | </h:selectOneMenu>  
  | ...
  | 
When the page is rendered I get the error:

  | 23:22:14,687 ERROR [STDERR] 2007-04-24 23:22:14 
com.sun.facelets.FaceletViewHandler handleRenderException
  | SEVERE: Error Rendering View[/specialist/spec_profile_edit.xhtml]
  | javax.faces.convert.ConverterException: java.lang.ClassCastException: 
javax.faces.model.SelectItem
  |     at 
javax.faces.convert.CharacterConverter.getAsString(CharacterConverter.java:74)
  |     at 
org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:544)
  |     at 
org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:555)
  |     at 
org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.renderSelectOptions(HtmlRendererUtils.java:398)
  |     at 
org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.internalRenderSelect(HtmlRendererUtils.java:298)
  |     at 
org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.renderMenu(HtmlRendererUtils.java:252)
  |     at 
org.apache.myfaces.shared_impl.renderkit.html.HtmlMenuRendererBase.encodeEnd(HtmlMenuRendererBase.java:54)
  |     at 
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
  |     at 
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:442)
  |     at 
org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:216)
  |     at 
org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:98)
  |     at 
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
  |     at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:252)
  |     at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
  |     at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
  |     at 
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
  |     at 
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
  |     at 
org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
  |     at 
org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:221)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
  |     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
  |     at 
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
  |     at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  |     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  |     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |     at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  |     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  |     at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  |     at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  |     at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |     at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.lang.ClassCastException: javax.faces.model.SelectItem
  |     at 
javax.faces.convert.CharacterConverter.getAsString(CharacterConverter.java:70)
  | 
When I add a standard converter:


  | ...
  | <h:selectOneMenu value="#{profileHome.instance.sexFlag}" 
converter="Character">
  |   <s:selectItems value="#{dictionary.sexList}" var="sex" 
label="#{sex.label}" /> 
  | </h:selectOneMenu>  
  | ...
  | 
I get the error:

  | 23:23:45,765 ERROR [ApplicationImpl] Could not instantiate converter null
  | java.lang.NullPointerException
  |     at 
org.apache.myfaces.application.ApplicationImpl.createConverter(ApplicationImpl.java:462)
  |     at 
org.jboss.seam.jsf.SeamApplication11.createConverter(SeamApplication11.java:92)
  |     at 
com.sun.facelets.tag.jsf.ValueHolderRule$LiteralConverterMetadata.applyMetadata(ValueHolderRule.java:45)
  |     at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
  |     at 
com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
  |     at 
com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
  |     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.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.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
  |     at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
  |     at 
com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
  |     at 
com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
  |     at 
com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
  |     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.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:143)
  |     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:503)
  |     at 
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
  |     at 
org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
  |     at 
org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:221)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
  |     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
  |     at 
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
  |     at 
org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
  |     at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
  |     at 
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  |     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  |     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |     at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  |     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  |     at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  |     at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  |     at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |     at java.lang.Thread.run(Thread.java:595)
  | 

And when I use <f:selectItems>:

  | ...
  | <h:selectOneMenu value="#{profileHome.instance.sexFlag}" >
  |    <f:selectItems value="#{dictionary.sexList}"/>
  | </h:selectOneMenu>  
  | ...
  | 
the page is rendered correctly. 
I don't know what I am doing wrong that <s:selectItems> doesn't work. 

Thanks in advance for any help.


Best regards,
jquery


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4040351#4040351

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4040351
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to