myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Heinen" <...@recommind.com>
Subject RE: IllegalArgumentException: Value is no String (Bug in HtmlRendererUtils?)
Date Wed, 24 Jan 2007 10:22:55 GMT
I just found this thread and it seems to deal with the same problem.

http://www.nabble.com/Re%3A-java.lang.IllegalArgumentException%3A-Value-
is-no-String-p7609739.html

 

Andrew, did you find a solution?

 

Michael

 

________________________________

From: Michael Heinen [mailto:mhn@recommind.com] 
Sent: Mittwoch, 24. Januar 2007 11:07
To: MyFaces Discussion
Subject: IllegalArgumentException: Value is no String (Bug in
HtmlRendererUtils?)

 

IllegalArgumentException: Value is no String (Bug in HtmlRendererUtils?)

 

I get the following exception if I submit my form via a normal
h:commandLink and no option is set for an extended HtmlSelectOneRadio
component.

 

java.lang.IllegalArgumentException: Value is no String
(class=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1,
value=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1@bb6d85)
and component docform:moveTowith path: {Component-Path : [Class:
org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId: /workbench.jsp][Class:
org.apache.myfaces.custom.div.Div,Id: content][Class:
org.apache.myfaces.custom.div.Div,Id: workbench][Class:
javax.faces.component.html.HtmlForm,Id: docform][Class:
org.apache.myfaces.custom.div.Div,Id: metaDataBox][Class:
org.ajax4jsf.ajax.html.HtmlAjaxOutputPanel,Id: a4jDocProfile][Class:
org.apache.myfaces.custom.div.Div,Id: metaDataDiv][Class:
org.apache.myfaces.custom.div.Div,Id: mdob][Class:
org.apache.myfaces.custom.div.Div,Id: mdbctinp][Class:
com.recommind.li.client.web.faces.selectOne.SelectOneRadio,Id: moveTo]}
does not have a Converter

            at
org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.getConvertedS
tringValue(RendererUtils.java:536)

            at
com.recommind.li.client.web.faces.selectOne.RadioRenderer.encodeEnd(Radi
oRenderer.java:104)

            at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536
)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.ja
va:249)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase
.java:225)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.ja
va:247)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase
.java:225)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.ja
va:247)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase
.java:225)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.ja
va:247)

            at
org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase
.java:225)

            at
org.ajax4jsf.renderers.ajax.AjaxOutputPanelRenderer.encodeChildren(AjaxO
utputPanelRenderer.java:74)

 

I debugged my app and discovered following:

- submittedValue is set to
"org.apache.myfaces.shared_impl.renderkit.RendererUtils$1@bb6d85"

- This is caused by
org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.decodeUI
SelectOne(FacesContext facesContext,UIComponent component).

It containt the follwing code:

if (paramMap.containsKey(clientId)) {

  //request parameter found, set submitted value

  ((EditableValueHolder)
component).setSubmittedValue(paramMap.get(clientId));

} else {

  //see reason for this action at decodeUISelectMany

  ((EditableValueHolder) component).setSubmittedValue(
RendererUtils.NOTHING );

}

 

Environment:

myfaces 1.1.4

tomahawk 1.1.4 snapshot

a4j 1.0.6rc1

tiles

jre 1.5.0_10

 

If I submit my form via Ajax links and no option is set, then i works
well.

Any ideas what's going wrong here ?

 

Michael

 


Mime
View raw message