You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by "urswagner@bluemail.ch" <ur...@bluemail.ch> on 2007/02/05 18:59:35 UTC

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:

<f:loadBundle basename="org.troedel.resource.Text" var="text" />

<h:selectOneMenu>
   <f:selectItems values="#{text.items}" />
</h:selectOneMenu>

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)


RE: Resource Bundle text for selectOneMenu

Posted by "Wabner, Thomas (EXT)" <th...@siemens.com>.
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: urswagner@bluemail.ch [mailto:urswagner@bluemail.ch] 
Sent: Montag, 5. Februar 2007 19:00
To: users@myfaces.apache.org
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:

<f:loadBundle basename="org.troedel.resource.Text" var="text" />

<h:selectOneMenu>
   <f:selectItems values="#{text.items}" />
</h:selectOneMenu>

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)