[ 
https://issues.apache.org/jira/browse/MYFACES-1770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12543454
 ] 

Leonardo Uribe commented on MYFACES-1770:
-----------------------------------------

The patch is not complete. I forget to check when you assign a id on the 
component:

throws the following error:

javax.servlet.jsp.JspException: Duplicated Id found in the view: myid
        at 
javax.faces.webapp.UIComponentClassicTagBase.createUniqueId(UIComponentClassicTagBase.java:1175)
        at 
javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:1082)
        at 
javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:431)
        at 
org.apache.jsp.forEachTest_jsp._jspx_meth_h_005finputText_005f1(forEachTest_jsp.java:334)
        at 
org.apache.jsp.forEachTest_jsp._jspx_meth_c_005fforEach_005f1(forEachTest_jsp.java:296)
        at 
org.apache.jsp.forEachTest_jsp._jspx_meth_h_005fform_005f0(forEachTest_jsp.java:191)
        at org.apache.jsp.forEachTest_jsp._jspService(forEachTest_jsp.java:112)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
        at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:338)
        at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:480)
        at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:334)
        at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:138)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Nov 18, 2007 9:18:10 PM javax.faces.webapp._ErrorPageWriter handleException
SEVERE: An exception occurred
javax.faces.FacesException: An exception occurred processing JSP page 
/forEachTest.jsp at line 19

16:                     <br>
17:             </c:forEach>
18:         <c:forEach var="item" items="#{listBean.stringArray}">
19:                     &nbsp;<h:inputText id="myid" value="#{item}" />
20:             <br>
21:         </c:forEach>                
22:     </h:form>


Stacktrace:
        at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:344)
        at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:480)
        at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:334)
        at 
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
        at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:138)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.JasperException: An exception occurred processing 
JSP page /forEachTest.jsp at line 19

16:                     <br>
17:             </c:forEach>
18:         <c:forEach var="item" items="#{listBean.stringArray}">
19:                     &nbsp;<h:inputText id="myid" value="#{item}" />
20:             <br>
21:         </c:forEach>                
22:     </h:form>


Stacktrace:
        at 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
        at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:338)
        ... 17 more
Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: 
Duplicated Id found in the view: myid
        at 
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
        at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
        at org.apache.jsp.forEachTest_jsp._jspService(forEachTest_jsp.java:137)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
        ... 27 more
Caused by: javax.servlet.jsp.JspException: Duplicated Id found in the view: myid
        at 
javax.faces.webapp.UIComponentClassicTagBase.createUniqueId(UIComponentClassicTagBase.java:1175)
        at 
javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:1082)
        at 
javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:431)
        at 
org.apache.jsp.forEachTest_jsp._jspx_meth_h_005finputText_005f1(forEachTest_jsp.java:334)
        at 
org.apache.jsp.forEachTest_jsp._jspx_meth_c_005fforEach_005f1(forEachTest_jsp.java:296)
        at 
org.apache.jsp.forEachTest_jsp._jspx_meth_h_005fform_005f0(forEachTest_jsp.java:191)
        at org.apache.jsp.forEachTest_jsp._jspService(forEachTest_jsp.java:112)
        ... 30 more




> components inside c:forEach has wrong id generation
> ---------------------------------------------------
>
>                 Key: MYFACES-1770
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1770
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-252
>         Environment: jetty 6.1.3, myfaces 1.2.1-SNAPSHOT, jstl 1.2
>            Reporter: Leonardo Uribe
>         Attachments: patchWrongIdJstl.patch
>
>
> Using jsp pages I have made simple example to test if unified EL works and if 
> I can mix jstl 1.2 tags with myfaces 1.2 components on
> the same page, one of the behaviors that promotes jsf 1.2.
> The test is this:
> public class ListBean
> {
>     
>     Log log = LogFactory.getLog(ListBean.class);
>     public ListBean(){
>         
>     }
>     
>     public List getStringList(){
>         List list = new ArrayList();        
>         list.add("A");
>         list.add("B");
>         list.add("C");
>         list.add("D");
>         return list;
>     }
>     
>     
> }
> page:
>       <h:form id="form">
>               <c:forEach var="item" items="#{listBean.stringList}">
>                     &nbsp;<h:inputText value="#{item}" />
>                       <br>
>               </c:forEach>
>       </h:form>
> and that's all.
> On myfaces I have the following output:
> &nbsp;
> <input id="form:j_id_id28" name="form:j_id_id28" type="text" value="A" />
> &nbsp;
>       
>       
> &nbsp;
>                       
>       
> &nbsp;
> <input id="form:j_id_id28j_id_0" name="form:j_id_id28j_id_0" type="text" 
> value="B" />
> and on the log:
> Nov 18, 2007 7:06:09 PM 
> org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory 
> getLifecycleProvider
> INFO: Using LifecycleProvider 
> org.apache.myfaces.config.annotation.ResourceAnnotationLifecycleProvider
> Nov 18, 2007 7:06:09 PM javax.faces.webapp.UIComponentClassicTagBase 
> findComponent
> WARNING: There is more than one JSF tag with an id : j_id_id28j_id_0
> Nov 18, 2007 7:06:09 PM javax.faces.webapp.UIComponentClassicTagBase 
> findComponent
> WARNING: There is more than one JSF tag with an id : j_id_id28j_id_0
> Nov 18, 2007 7:06:37 PM javax.faces.webapp.UIComponentClassicTagBase 
> findComponent
> WARNING: There is more than one JSF tag with an id : j_id_id28j_id_0
> Nov 18, 2007 7:06:37 PM javax.faces.webapp.UIComponentClassicTagBase 
> findComponent
> if I assign a custom id for h:inputText throws an error of duplicateId
> Using jsf ri 1.2_05 I have the following output:
> &nbsp;
> <input type="text" name="form:j_id_id28" value="A" />
>               
> &nbsp;
> <input type="text" name="form:j_id_id28j_id_1" value="B" />
>               
> &nbsp;
> <input type="text" name="form:j_id_id28j_id_2" value="C" />
>               
> &nbsp;
> <input type="text" name="form:j_id_id28j_id_3" value="D" />
> This is that I expected. With this code:
> <c:forEach var="item" items="#{listBean.stringList}">
>       &nbsp;
>       <h:inputText id="item" value="#{item}" />
> </c:forEach>
> Render this:
> &nbsp;
> <input id="form:item" type="text" name="form:item" value="A" />
>               
> &nbsp;
> <input id="form:itemj_id_1" type="text" name="form:itemj_id_1" value="B" />
>               
> &nbsp;
> <input id="form:itemj_id_2" type="text" name="form:itemj_id_2" value="C" />
>               
> &nbsp;
> <input id="form:itemj_id_3" type="text" name="form:itemj_id_3" value="D" />
> This is correct!.
> I have made a probe with tomcat 6.0.14 and do the same as jetty.

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

Reply via email to