You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Denis Pyr (JIRA)" <de...@myfaces.apache.org> on 2007/06/28 00:40:26 UTC

[jira] Commented: (TOMAHAWK-26) radio does no function within dataList

    [ https://issues.apache.org/jira/browse/TOMAHAWK-26?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12508678 ] 

Denis Pyr commented on TOMAHAWK-26:
-----------------------------------

a workaround (if this is a bug and not a feature ;-) ) as found at http://www.nabble.com/selectOneRadio-in-tree2---t3657612.html by scottymo:

As it turns out, the key was that I needed to be more specific with the "for" attribute of my t:radio tag; rather than simply referring to the id of the  t:selectOneRadio tag like this:
    <t:radio index="#{node.index}" for="job-select" />
I had to qualify it with the id of the h:form tag that contained t:selectOneRadio:
    <t:radio index="#{node.index}" for=":tree2-test:job-select" />

"tree2-test" is the id for the h:form that contains the tree and "job-select" is the id for the t:selectOneRadio tag.

This is similar to that approach recommended in the "Dynamic Example" on this MyFaces wiki page, except the t:radio tags are included in tree facets rather than table cells. 

> radio does no function within dataList
> --------------------------------------
>
>                 Key: TOMAHAWK-26
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-26
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Data List, selectOneRadio / radio
>         Environment: 11/22/05 Nightly build
> Tomcat 5.5
> Fedora 4
>            Reporter: Tony Czupryna
>
> I'm trying to render radio buttons inside a <dataList> using the <radio> tag. This is so I can display more complex content for each radio button. I get an IllegalStateException because the original selectOneRadio cannot be located:
> <%@ page session="true" contentType="text/html;charset=UTF-8" language="java" %>
> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
> <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
> <html>
> <head><title>TonyTesterNoRadio</title></head>
> <body>
> <f:view>
>   <h:form>
>   <t:selectOneRadio id="test" forceId="true" layout="spread">
>     <f:selectItems value="#{tonyTester.selectItems}"/>
>   </t:selectOneRadio>
>   <h:panelGrid columns="#{tonyTester.numberOfHelpers}">
>     <t:dataList var="helper" value="#{tonyTester.helpers}" rowIndexVar="index">
>       <h:panelGroup>
>         <h:panelGrid columns="1">
>           <t:radio for="test" index="#{index}"/>
>           <h:outputText value="#{helper.key}"/>
>           <h:outputText value="#{helper.descriptionLine1}"/>
>           <h:outputText value="#{helper.descriptionLine2}"/>
>         </h:panelGrid>
>       </h:panelGroup>
>     </t:dataList>
>   </h:panelGrid>
>   </h:form>
> </f:view>
> </body>
> </html>
> Exception:
> javax.servlet.ServletException: Could not find component 'test' (calling findComponent on component '_id0:_id3_0:_id6')
> 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
> 	org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:123)
> root cause
> java.lang.IllegalStateException: Could not find component 'test' (calling findComponent on component '_id0:_id3_0:_id6')
> 	org.apache.myfaces.renderkit.html.ext.HtmlRadioRenderer.renderRadio(HtmlRadioRenderer.java:96)
> 	org.apache.myfaces.renderkit.html.ext.HtmlRadioRenderer.encodeEnd(HtmlRadioRenderer.java:56)
> 	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:506)
> 	org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:444)
> 	org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:215)
> 	org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:97)
> 	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:506)
> 	org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:444)
> 	org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:421)
> 	org.apache.myfaces.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:74)
> 	javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:506)
> 	org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:444)
> 	org.apache.myfaces.renderkit.RendererUtils.renderChildren(RendererUtils.java:421)
> 	org.apache.myfaces.custom.datalist.HtmlListRenderer.encodeChildren(HtmlListRenderer.java:144)
> 	javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:494)
> 	org.apache.myfaces.renderkit.RendererUtils.renderChild(RendererUtils.java:438)
> 	org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(HtmlGridRendererBase.java:215)
> 	org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(HtmlGridRendererBase.java:97)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.