You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Martin Marinschek (JIRA)" <in...@incubator.apache.org> on 2005/02/11 14:26:13 UTC
[jira] Resolved: (MYFACES-60) inputCalendar component inside dataTable component
[ http://issues.apache.org/jira/browse/MYFACES-60?page=history ]
Martin Marinschek resolved MYFACES-60:
--------------------------------------
Resolution: Fixed
Fix Version: Nightly Build
fix is also shown in examples section
> inputCalendar component inside dataTable component
> --------------------------------------------------
>
> Key: MYFACES-60
> URL: http://issues.apache.org/jira/browse/MYFACES-60
> Project: MyFaces
> Type: Bug
> Versions: 1.0.7 beta, 1.0.8 beta
> Environment: WebLogic SP4
> Reporter: Ronen Naor
> Assignee: Martin Marinschek
> Fix For: Nightly Build
>
> I am trying to put the component inputCalendar inside a column of DataTable but it does not work for more then one line. like :
> <jsp:useBean id="C" class="java.util.Date" scope="application"/>
> <%
> List l = new Vector();
> try {
> l = (List) session.getAttribute("D");
> if(l == null) {
> l = new Vector();
> l.add(new Date());
> l.add(new Date());
> session.setAttribute("D",l);
> }
> System.out.println("l2 = " + l);
> } catch (Exception e) {
> System.out.println("e = " + e);
> e.printStackTrace();
> }
> %>
> <f:view id="testCalendarInTable" >
> <html>
> <head>
> <meta http-equiv="pragma" content="no-cache">
> <meta http-equiv="cache-control" content="no-cache">
> <meta http-equiv="expires" content="0">
> <title>Example</title>
> </head>
> <body>
> <tr:stylesheet path="/classes.css"/>
> <h2>Misc Test</h2>
> <h:messages globalOnly="false" errorClass="redBoldFont" />
> <h:dataTable id="data"
> var="l"
> value="#{D}" >
> <h:column>
> <f:facet name="header">
> <h:outputText value="COL 1 - outputText" />
> </f:facet>
> <h:outputText value="#{l}" />
> </h:column>
> <h:column>
> <f:facet name="header">
> <h:outputText value="COL 2 - inputText" />
> </f:facet>
> <h:inputText value="#{l}" />
> </h:column>
> <h:column>
> <f:facet name="header">
> <h:outputText value="COL 3 - calendar A" />
> </f:facet>
> <h:outputText value="COL 3 - calendar A" />
> <x:inputCalendar renderAsPopup="true" value="#{C}"/>
> </h:column>
> </h:dataTable>
> <f:verbatim><br></f:verbatim>
> <f:verbatim ><br></f:verbatim>
> <hr>
> </body>
> </html>
> </f:view>
> It seems that when iterating through the lines, each row iteration makes the calendar component to add a new inputText to itself in addition to the original inputText and in addition to the ones that were added in the previous iterations.
> The result is the following exception:
> java.lang.ArrayIndexOutOfBoundsException: 2
> at javax.faces.component.UIData.saveDescendantComponentStates(UIData.java:258)
> at javax.faces.component.UIData.saveDescendantComponentStates(UIData.java:260)
> at javax.faces.component.UIData.saveDescendantComponentStates(UIData.java:260)
> at javax.faces.component.UIData.saveDescendantComponentStates(UIData.java:213)
> at javax.faces.component.UIData.setRowIndex(UIData.java:129)
> at net.sourceforge.myfaces.renderkit.html.HtmlTableRendererBase.encodeChildren(HtmlTableRendererBase.java:131)
> at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:317)
> at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:370)
> at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:278)
> at net.sourceforge.myfaces.taglib.UIComponentBodyTagBase.doEndTag(UIComponentBodyTagBase.java:79)
> at jsp_servlet._jsp.__example1._jspService(example1.jsp:84)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
> at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
> at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
> at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
> at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:705)
> at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:816)
> at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:469)
> at jsp_servlet._jsp._structurepages.__fivepartslayout._jspService(fivePartsLayout.jsp:45)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
> at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:328)
> at net.sourceforge.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:404)
> at net.sourceforge.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:178)
> at net.sourceforge.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:287)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at net.sourceforge.myfaces.custom.fileupload.MultipartFilter.doFilter(MultipartFilter.java:83)
> at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
> 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:3764)
> at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira