Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.6
-
Fix Version/s: 1.6.1
-
Component/s: Framework
-
Labels:None
-
Environment:Facelets & JSF (not necessarily just with Seam)
-
Affects:Compatibility/Configuration
-
Workaround Exists:Yes
-
Workaround Description:you have to create a <ui:insert name="value" for the possible values that will come along. Since the above seems to be a standard construct with facelets and the standard view handlers, we should make ours as easy to use as well.
Description
with the facelet page :-
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ice="http://www.icesoft.com/icefaces/component"
template="layout/template.xhtml">
<ui:define name="body">
<h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
<ice:form id="testEditTemplate" styleClass="edit">
<ice:panelGroup styleClass="edit">
<s:decorate template="layout/display.xhtml">
<ui:define name="label">firstName</ui:define>
<h:inputText id="firstName" value="first testValue using s:decorate"/>
</s:decorate>
<ui:decorate template="layout/display.xhtml">
<ui:define name="label">firstName</ui:define>
<h:inputText id="firstName" value="second testValue using ui:decorate"/>
</ui:decorate>
</ice:panelGroup>
</ice:form>
</ui:define>
</ui:composition>
and the following template:-
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<div class="prop">
<span class="name">
<ui:insert name="label"/>
</span>
<span class="value">
<ui:insert/>
</span>
</div>
</ui:composition>
either instance (the s:decorate and the ui:decorate) do not understand the flowthrough of the class="value" of the template and get the following error:-
18:07:43,803 ERROR [D2DFaceletViewHandler] Problem in renderResponse: Nested form found on the page. The form action element can not be nested
javax.faces.FacesException: Nested form found on the page. The form action element can not be nested
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:362)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.encodeBegin(FormRenderer.java:83)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:512)
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ice="http://www.icesoft.com/icefaces/component"
template="layout/template.xhtml">
<ui:define name="body">
<h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
<ice:form id="testEditTemplate" styleClass="edit">
<ice:panelGroup styleClass="edit">
<s:decorate template="layout/display.xhtml">
<ui:define name="label">firstName</ui:define>
<h:inputText id="firstName" value="first testValue using s:decorate"/>
</s:decorate>
<ui:decorate template="layout/display.xhtml">
<ui:define name="label">firstName</ui:define>
<h:inputText id="firstName" value="second testValue using ui:decorate"/>
</ui:decorate>
</ice:panelGroup>
</ice:form>
</ui:define>
</ui:composition>
and the following template:-
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<div class="prop">
<span class="name">
<ui:insert name="label"/>
</span>
<span class="value">
<ui:insert/>
</span>
</div>
</ui:composition>
either instance (the s:decorate and the ui:decorate) do not understand the flowthrough of the class="value" of the template and get the following error:-
18:07:43,803 ERROR [D2DFaceletViewHandler] Problem in renderResponse: Nested form found on the page. The form action element can not be nested
javax.faces.FacesException: Nested form found on the page. The form action element can not be nested
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:362)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.validateNestingForm(FormRenderer.java:365)
at com.icesoft.faces.renderkit.dom_html_basic.FormRenderer.encodeBegin(FormRenderer.java:83)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:512)
Mark, please comment on the root cause.