Hi,
While the id for h:selectOneMenu can be any Object in JSF RI, it has to be a
String value > in myfaces....
This is not the case.
If you have correctly setted up a converter for the value of a
SelectItem you can use any type. In your case this would be converting
from String to Integer and vice versa.
cheers,
Gerald
On 10/29/06, Bjørn T Johansen <[EMAIL PROTECTED]> wrote:
Nope... The problem was that yet again myfaces acts differently than JSF RI...
While the id for h:selectOneMenu can be any Object in JSF RI, it has to be a
String value in myfaces....
BTJ
On Sat, 28 Oct 2006 20:29:41 -0400
sri <[EMAIL PROTECTED]> wrote:
> Your backing bean is null or something is null in your expression chain.
>
>
>
>
> On 10/26/06, Bjørn T Johansen <[EMAIL PROTECTED]> wrote:
> >
> > Using myfaces 1.1.4 I get the following exception when I submit a page
> > using onchange event on a drop down box with a connected
> > valueChangeListener...:
> >
> > java.lang.IllegalArgumentException: Value is no String (class=
> > java.lang.Integer, value=0) and component
> > content:formOrder:logfortrykk_ansvarligwith path: {Component-Path : [Class:
> > javax.faces.component.UIViewRoot,ViewId:
> > /protected/log/fortrykk.jsp][Class:
> > javax.faces.component.html.HtmlPanelGrid,Id: _idJsp0][Class:
> > javax.faces.component.UIColumn,Id: _idJsp27][Class:
> > javax.faces.component.UINamingContainer,Id: content][Class:
> > javax.faces.component.html.HtmlForm,Id: formOrder][Class:
> > com.exadel.htmLib.components.UITable,Id: _idJsp28][Class:
> > javax.faces.component.html.HtmlPanelGroup,Id: _idJsp29][Class:
> > com.exadel.htmLib.components.UITr,Id: _idJsp51][Class:
> > com.exadel.htmLib.components.UITd,Id: _idJsp54][Class:
> > javax.faces.component.html.HtmlSelectOneMenu,Id: logfortrykk_ansvarlig]}
> > does not have a Converter
> > at
> >
org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue
> > (RendererUtils.java:536)
> > 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.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(
> > RendererUtils.java:440)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(
> > RendererUtils.java:440)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> >
org.apache.myfaces.shared_impl.renderkit.html.HtmlGroupRendererBase.encodeEnd
> > (HtmlGroupRendererBase.java:75)
> > 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.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(
> > RendererUtils.java:440)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(
> > RendererUtils.java:440)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(
> > RendererUtils.java:440)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(
> > RendererUtils.java:419)
> > at
> > org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(
> > RendererUtils.java:440)
> > 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 javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java
> > :495)
> > at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java
> > :363)
> > at
> > org.apache.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(
> > UIComponentBodyTagBase.java:54)
> > at
> > org.apache.jsp.protected_.index_005ft_jsp._jspx_meth_h_panelGrid_0
> > (index_005ft_jsp.java:272)
> > at org.apache.jsp.protected_.index_005ft_jsp._jspx_meth_f_view_0
> > (index_005ft_jsp.java:141)
> > at org.apache.jsp.protected_.index_005ft_jsp._jspService
> > (index_005ft_jsp.java:98)
> > 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 no.havleik.dt.security.AuthFilter.doFilter(AuthFilter.java:83)
> > 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.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:416)
> > at
> > org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.dispatch
> > (JspTilesViewHandlerImpl.java:233)
> > at
> >
org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl.renderView
> > (JspTilesViewHandlerImpl.java:219)
> > 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.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(
> > ExtensionsFilter.java:144)
> > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > (ApplicationFilterChain.java:202)
> > at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:173)
> > at no.havleik.dt.security.AuthFilter.doFilter(AuthFilter.java:83)
> > 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java
> > :199)
> > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java
> > :282)
> > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java
> > :767)
> > at org.apache.jk.common.ChannelSocket.processConnection(
> > ChannelSocket.java:697)
> > at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(
> > ChannelSocket.java:889)
> > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:595)
> >
> > javax.servlet.ServletException: Value is no String (class=
> > java.lang.Integer, value=0) and component
> > content:formOrder:logfortrykk_ansvarligwith path: {Component-Path : [Class:
> > javax.faces.component.UIViewRoot,ViewId:
> > /protected/log/fortrykk.jsp][Class:
> > javax.faces.component.html.HtmlPanelGrid,Id: _idJsp0][Class:
> > javax.faces.component.UIColumn,Id: _idJsp27][Class:
> > javax.faces.component.UINamingContainer,Id: content][Class:
> > javax.faces.component.html.HtmlForm,Id: formOrder][Class:
> > com.exadel.htmLib.components.UITable,Id: _idJsp28][Class:
> > javax.faces.component.html.HtmlPanelGroup,Id: _idJsp29][Class:
> > com.exadel.htmLib.components.UITr,Id: _idJsp51][Class:
> > com.exadel.htmLib.components.UITd,Id: _idJsp54][Class:
> > javax.faces.component.html.HtmlSelectOneMenu,Id: logfortrykk_ansvarlig]}
> > does not have a Converter
> > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
> > 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:144)
> > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> > (ApplicationFilterChain.java:202)
> > at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> > ApplicationFilterChain.java:173)
> > at no.havleik.dt.security.AuthFilter.doFilter(AuthFilter.java:83)
> > 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.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java
> > :199)
> > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java
> > :282)
> > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java
> > :767)
> > at org.apache.jk.common.ChannelSocket.processConnection(
> > ChannelSocket.java:697)
> > at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(
> > ChannelSocket.java:889)
> > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> > ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:595)
> >
> >
> >
> > My jsp code looks like this..:
> >
> > <h:selectOneMenu id="logfortrykk_ansvarlig" value="#{
> > orderBean.ordre.logFortrykk.ansattid}">
> > <f:selectItems value="#{appCtxSelections.ansattFortrykkList}"/>
> > </h:selectOneMenu>
> >
> >
> > Not sure what it is complaining about but ansattid is no string, it's
> > Integer (and that should work?)
> > But what is even more strange, is that I can submit the page using a
> > commandbutton or choosing another page from the menu, then
> > no exception occurs... But when I submit the page because I chooses
> > something else in a drop down box, then I get this
> > exception...
> >
> > Any pointers?
> >
> >
> > Regards,
> >
> > BTJ
> >
> > --
> >
> >
-----------------------------------------------------------------------------------------------
> > Bj�rn T Johansen
> >
> > [EMAIL PROTECTED]
> >
> >
-----------------------------------------------------------------------------------------------
> > Someone wrote:
> > "I understand that if you play a Windows CD backwards you hear strange
> > Satanic messages"
> > To which someone replied:
> > "It's even worse than that; play it forwards and it installs Windows"
> >
--
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces