You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2007/11/19 03:20:43 UTC
[jira] Commented: (MYFACES-1770) components inside c:forEach has
wrong id generation
[ 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: <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: <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}">
> <h:inputText value="#{item}" />
> <br>
> </c:forEach>
> </h:form>
> and that's all.
> On myfaces I have the following output:
>
> <input id="form:j_id_id28" name="form:j_id_id28" type="text" value="A" />
>
>
>
>
>
>
>
> <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:
>
> <input type="text" name="form:j_id_id28" value="A" />
>
>
> <input type="text" name="form:j_id_id28j_id_1" value="B" />
>
>
> <input type="text" name="form:j_id_id28j_id_2" value="C" />
>
>
> <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}">
>
> <h:inputText id="item" value="#{item}" />
> </c:forEach>
> Render this:
>
> <input id="form:item" type="text" name="form:item" value="A" />
>
>
> <input id="form:itemj_id_1" type="text" name="form:itemj_id_1" value="B" />
>
>
> <input id="form:itemj_id_2" type="text" name="form:itemj_id_2" value="C" />
>
>
> <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.