Hi All,

I am using MyFaces1.1.5, Tomahawk 1.1.3, ajax4jsf1.1.1
and server is wls8.1 sp6. I am using tiles. Here is
the scenario. The Structure of my pages is like this

header - application header/user information
---------------------------------------------
Body - contents
---------------------------------------------
footer - language links with immediate="true"


In one of my pages, I show various items components,
which I get from the database. I create the components
in my bean and add the components to a panel in the
page. The page works great. language change works,
validations work, submit works and application runs
fine. 
Now, If there is a Radio button with required=true and
I hit the submit button without selecting any of the
options of this radio box, I get the required field
error, which is correct behaviour. Now, if I try to
change language here, I get the following exception,
which I think is complaining for a Converter. The
funny thing is it happens only when this field is
required and gets validation error for being required
and then I change the language. 

If this field is not required or I change the language
before getting validation error for this field, it
doesn't give me any error and everything works fine.
application runs great, no error.

I have not specified any converter for the field. I am
not able to understand, why it is getting this error.
Can anyone explain to me please? I tried the same with
Tomahawk 1.1.6 also, but the results are same. I have
also included the code to add the radio button.

Thanks in Advance,
Nitin


===============  EXCEPTION  
==========================================================================================
Value is no String
(class=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1,
[EMAIL PROTECTED])
and component
cart:cartForm:cartItemView:app_28984Seq_0attr_5with
path: {Component-Path : [Class:
org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId:
/cart.jsp][Class:
javax.faces.component.UINamingContainer,Id:
cart][Class: javax.faces.component.html.HtmlForm,Id:
cartForm][Class:
javax.faces.component.UINamingContainer,Id:
cartItemView][Class:
javax.faces.component.html.HtmlPanelGroup,Id:
panelCart][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
ctic28984ran-1842306048item0][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
ctic28984ran-1842306048item7][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
ctic28984ran1388861700item9][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
reapp_28984Seq_0attr_5radioFld1rfsw-679839492][Class:
javax.faces.component.html.HtmlSelectOneRadio,Id:
app_28984Seq_0attr_5]} does not have a Converter

java.lang.IllegalArgumentException: Value is no String
(class=org.apache.myfaces.shared_impl.renderkit.RendererUtils$1,
[EMAIL PROTECTED])
and component
cart:cartForm:cartItemView:app_28984Seq_0attr_5with
path: {Component-Path : [Class:
org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId:
/cart.jsp][Class:
javax.faces.component.UINamingContainer,Id:
cart][Class: javax.faces.component.html.HtmlForm,Id:
cartForm][Class:
javax.faces.component.UINamingContainer,Id:
cartItemView][Class:
javax.faces.component.html.HtmlPanelGroup,Id:
panelCart][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
ctic28984ran-1842306048item0][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
ctic28984ran-1842306048item7][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
ctic28984ran1388861700item9][Class:
org.apache.myfaces.custom.htmlTag.HtmlTag,Id:
reapp_28984Seq_0attr_5radioFld1rfsw-679839492][Class:
javax.faces.component.html.HtmlSelectOneRadio,Id:
app_28984Seq_0attr_5]} does not have a Converter
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedStringValue(RendererUtils.java:513)
        at
org.apache.myfaces.shared_impl.renderkit.html.HtmlRadioRendererBase.encodeEnd(HtmlRadioRendererBase.java:95)
        at
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:419)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:400)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:417)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:400)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:417)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:400)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:417)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:400)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChild(RendererUtils.java:417)
        at
org.apache.myfaces.shared_impl.renderkit.RendererUtils.renderChildren(RendererUtils.java:400)
        at
org.apache.myfaces.shared_impl.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:78)
        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.myfaces.shared_impl.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:57)
        at
jsp_servlet._tiles.__cart._jspService(__cart.java:1102)
        at
weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:652)
        at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:431)
        at
weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
        at
org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
        at
org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
        at
org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:756)
        at
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:881)
        at
org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:473)
        at
jsp_servlet.__layoutsite._jspService(__layoutsite.java:276)
        at
weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:652)
        at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:431)
        at
weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
        at
org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:137)
        at
org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:177)
        at
org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:756)
        at
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:881)
        at
org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:473)
        at jsp_servlet.__cart._jspService(__cart.java:190)
        at
weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:334)
        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:108)
        at
org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:233)
        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.myfaces.webapp.MyFacesServlet.service(MyFacesServlet.java:77)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
        at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:100)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
        at
org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
        at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
        at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
        at
weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
        at
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
        
        
======================== bean code, where I add the
component  ===========================================
///initialization code 


HtmlSelectOneRadio select = (HtmlSelectOneRadio)
application
                .createComponent(HtmlSelectOneRadio.COMPONENT_TYPE);
if ((valueAttr != null) &&
(!"".equals(valueAttr.trim()))) {
        select.setValue(valueAttr);
}
select.setId(id);
select.setLayout("pageDirection");

List labels = attrVo.getOptionLabel();
List values = attrVo.getOptionValue();

if (labels == null) {
        labels = new ArrayList();
        values = new ArrayList();
}
select.setRequired(attrVo.isRequired());
if (labels != null) {
        this.addOptions(select, labels, values);
}

HtmlTag fieldSetWrap = (HtmlTag)
application.createComponent(HtmlTag.COMPONENT_TYPE);
fieldSetWrap.setValue("fieldset");
l_randomInt = l_random.nextInt();
fieldSetWrap.setId("re" +id+"radioFld"+ (count++) +
"rfsw" + l_randomInt);

HtmlTag legendWrap = (HtmlTag)
application.createComponent(HtmlTag.COMPONENT_TYPE);
legendWrap.setValue("legend");
l_randomInt = l_random.nextInt();
legendWrap.setId("re" +id+"radioLgnd"+ (count++) +
"rlw" + l_randomInt);

legendWrap.getChildren().add(label);
fieldSetWrap.getChildren().add(legendWrap);
tableChildren.add(fieldSetWrap);

if (attrVo.isRequired()) {
        legendWrap.setStyleClass("cartRequiredItem");
}
fieldSetWrap.getChildren().add(select);
tableChildren.add(fieldSetWrap);
                                


      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 

Reply via email to