Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.1-Beta
-
Component/s: ACE-Components
-
Labels:None
-
Environment:ICEfaces 2.1 BETA
-
Assignee Priority:P1
Description
An exception is thrown when the page is loaded, if a data table use @form in
onRowSelectUpdate and/or onRowUnselectUpdate attributes:
<ace:dataTable id="dataTable"
var="record"
value="#{myBean.listWithRecords}"
rowIndexVar="rowNo"
rowStyleClass=" #{myBean.applyCSS(record.selected)} "
selectionMode="multiple"
style="font-size: 14px; text-align: center;"
onRowSelectUpdate="@form"
onRowUnselectUpdate="@form">
Stack Trace:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Component form needs to be enclosed in a form
javax.faces.webapp.FacesServlet.service(FacesServlet.java:422)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
root cause
javax.faces.FacesException: Component form needs to be enclosed in a form
org.icefaces.ace.util.ComponentUtils.formatKeywords(ComponentUtils.java:214)
org.icefaces.ace.util.ComponentUtils.findClientIds(ComponentUtils.java:227)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeSelectionConfig(DataTableRenderer.java:1192)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeScript(DataTableRenderer.java:459)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeEntierty(DataTableRenderer.java:529)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:440)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
If @form is replaced with @this the page loads normally.
onRowSelectUpdate and/or onRowUnselectUpdate attributes:
<ace:dataTable id="dataTable"
var="record"
value="#{myBean.listWithRecords}"
rowIndexVar="rowNo"
rowStyleClass=" #{myBean.applyCSS(record.selected)} "
selectionMode="multiple"
style="font-size: 14px; text-align: center;"
onRowSelectUpdate="@form"
onRowUnselectUpdate="@form">
Stack Trace:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Component form needs to be enclosed in a form
javax.faces.webapp.FacesServlet.service(FacesServlet.java:422)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
root cause
javax.faces.FacesException: Component form needs to be enclosed in a form
org.icefaces.ace.util.ComponentUtils.formatKeywords(ComponentUtils.java:214)
org.icefaces.ace.util.ComponentUtils.findClientIds(ComponentUtils.java:227)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeSelectionConfig(DataTableRenderer.java:1192)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeScript(DataTableRenderer.java:459)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeEntierty(DataTableRenderer.java:529)
org.icefaces.ace.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:440)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
If @form is replaced with @this the page loads normally.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion