I found the solution for my problem.

My extended HtmlSelectOneRadio Renderer used
org.apache.myfaces.shared_impl.XXX imports instead of
org.apache.myfaces.shared_tomahawk.XXX

Now its working fine.

Michael


-----Original Message-----
From: Andrew Robinson [mailto:[EMAIL PROTECTED] 
Sent: Mittwoch, 24. Januar 2007 16:58
To: MyFaces Discussion
Subject: Re: IllegalArgumentException: Value is no String (Bug in
HtmlRendererUtils?)

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.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
> "[EMAIL PROTECTED]"
>
> - 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
>
>

Reply via email to