I had the same requirement for my own application (which uses SelectItem lists 
all over the place and I want to pull the strings from a resource bundle).  You 
can find examples which describe how to do this (i.e. return SelectItem 
collections, etc.) in the Core JavaServer Faces book.  I would also recommend 
that you make your class Serializable (in case you want to use it in a Backing 
Bean later which may have to support this).  I did not use Jakarta Commons for 
the string lookups, but it doesn't require very much code to get the locale 
from the UIViewRoot, fetch the Resource Bundle, then lookup the corresponding 
strings from the proper resource bundle.  Good luck.

-------------- Original message -------------- 
From: "Wabner, Thomas (EXT)" <[EMAIL PROTECTED]> 

> Hi, 
> 
> the selectItems tag needs as an object the type SelectItem, 
> SelectItem[], 
> Collection or Map (the exception stack trace shows you up this). But the 
> property text.items returns only a string with the value " first, 
> second, third" and not as a list. 
> 
> You can decide to write your own backing bean which reads the property 
> file (using Jakarta commons configuration would be my choice) and 
> returns a Collection of strings. 
> 
> Regards, 
> 
> - Thomas Wabner 
> 
> -----Original Message----- 
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: Montag, 5. Februar 2007 19:00 
> To: [email protected] 
> Subject: Resource Bundle text for selectOneMenu 
> 
> Hello 
> 
> I would like to use the texts of a resource bundle in my 
> selectOneMenu 
> I tried ist with 
> 
> The Text.resources content: 
> 
> items=first, second, third 
> 
> In the JSF file: 
> 
> 
> 
> 
> 
> 
> 
> This gives the standard exception: 
> 
> 
> not reference an Object of type SelectItem, SelectItem[], 
> Collection or Map but of type : java.lang.String 
> at 
> org.apache.myfaces.shared_impl.util.SelectItemsIterator.hasNext 
> (SelectItemsIterator.java:144) 
> at org.apache.myfaces.shared_impl.renderkit.RendererUtils. 
> internalGetSelectItemList(RendererUtils.java:448) 
> at org.apache.myfaces.shared_impl.renderkit.RendererUtils. 
> getSelectItemList(RendererUtils.java:426) 
> at 
> org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils. 
> internalRenderSelect(HtmlRendererUtils.java:294) 
> at 
> org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils. 
> renderMenu(HtmlRendererUtils.java:267) 
> at org.apache.myfaces.shared_impl.renderkit.html. 
> HtmlMenuRendererBase.encodeEnd(HtmlMenuRendererBase.java:59) 
> at 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase. 
> java:539) 
> at 
> javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java: 
> 498) 
> at 
> javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java: 
> 366) 
> at org.apache.jsp.sellarticle_jsp._jspx_meth_h_selectOneMenu_1 
> (sellarticle_jsp.java:825) 
> at org.apache.jsp.sellarticle_jsp._jspx_meth_f_view_0 
> (sellarticle_jsp.java:211) 
> at 
> org.apache.jsp.sellarticle_jsp._jspService(sellarticle_jsp.java: 
> 96) 
> at 
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 
> 97) 
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
> at org.apache.jasper.servlet.JspServletWrapper.service 
> (JspServletWrapper.java:334) 
> at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet. 
> java:314) 
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 
> 264) 
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
> at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
> (ApplicationFilterChain.java:252) 
> at org.apache.catalina.core.ApplicationFilterChain.doFilter 
> (ApplicationFilterChain.java:173) 
> at org.apache.catalina.core.ApplicationDispatcher.invoke 
> (ApplicationDispatcher.java:672) 
> at org.apache.catalina.core.ApplicationDispatcher.processRequest 
> (ApplicationDispatcher.java:463) 
> at org.apache.catalina.core.ApplicationDispatcher.doForward 
> (ApplicationDispatcher.java:398) 
> at org.apache.catalina.core.ApplicationDispatcher.forward 
> (ApplicationDispatcher.java:301) 
> at 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl. 
> dispatch(ServletExternalContextImpl.java:419) 
> at 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView 
> (JspViewHandlerImpl.java:211) 
> at org.ajax4jsf.framework.ViewHandlerWrapper.renderView 
> (ViewHandlerWrapper.java:101) 
> at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView 
> (AjaxViewHandler.java:221) 
> at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute 
> (RenderResponseExecutor.java:41) 
> at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl. 
> java:132) 
> at 
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) 
> at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
> (ApplicationFilterChain.java:252) 
> at org.apache.catalina.core.ApplicationFilterChain.doFilter 
> (ApplicationFilterChain.java:173) 
> at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter 
> (ExtensionsFilter.java:100) 
> 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.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter 
> (ExtensionsFilter.java:147) 
> 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.apache.catalina.core.StandardHostValve.invoke 
> (StandardHostValve.java:126) 
> at org.apache.catalina.valves.ErrorReportValve.invoke 
> (ErrorReportValve.java:105) 
> 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.LeaderFollowerWorkerThread.runIt 
> (LeaderFollowerWorkerThread.java:80) 
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run 
> (ThreadPool.java:684) 
> at java.lang.Thread.run(Thread.java:595) 
> 

Reply via email to