It has been a while, but I believe what was happening is that I was
using bundle strings in my label & value and during the restore view &
update model the bundle wasn't being processed or something and I
ended up with null. I converted this to use a List<SelectItem> on the
bean instead of using select item tags and it works just fine now.

On 1/24/07, Michael Heinen <[EMAIL PROTECTED]> wrote:




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:[EMAIL PROTECTED]
 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,
[EMAIL PROTECTED])
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.getConvertedStringValue(RendererUtils.java:536)

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

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

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

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

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

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

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

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

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

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

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



I debugged my app and discovered following:

- submittedValue is set to
"[EMAIL PROTECTED]"

- This is caused by
org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.decodeUISelectOne(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


Reply via email to