Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P02, 4.0
-
Fix Version/s: EE-4.0.0.GA, EE-3.3.0.GA_P03, 4.1
-
Component/s: Framework
-
Labels:None
-
Environment:jsf 2 icefaces
-
Assignee Priority:P1
-
Support Case References:Support Case 13323:- https://icesoft.my.salesforce.com/50070000013VsPa
Description
See attached sample app to reproduce. I have tested it with 3.3.0 open source (easier to build as it's maven-built) as well as 3.3.0.GA_P02.
The sample app basically has a page with 2 links.
<h:form id="frm">
<h:commandLink value="Add component to tree"
actionListener="#{requestBean.addComponent}"/>
<br/>
<h:commandLink value="Trigger lifecycle"
actionListener="#{requestBean.doNothing}"/>
<br/>
<h:panelGroup id="pgrp" binding="#{requestBean.group}">
</h:panelGroup>
</h:form>
One link will dynamically add an HtmlOutputText component to an HtmlPanelGroup. the other link just triggers a jsf lifecycle.
If you remove the icefaces jar from the war, with PartialStateSaving set to true (default anyways), then the HtmlPanelGroup state will continue to add another HtmlOutputText when you click on a link. With the icefaces jar, you only ever get the last HtmlOutputText component and if you trigger a new jsf lifecycle, it clears all state of the HtmlPanelGroup.
The only way to maintain state with the icefaces jar is to set PartialStateSaving to false in web.xml:-
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
and this is inconsistent with how JSF is behaving.
Customer has suggested a fix. (see diff attached).
The sample app basically has a page with 2 links.
<h:form id="frm">
<h:commandLink value="Add component to tree"
actionListener="#{requestBean.addComponent}"/>
<br/>
<h:commandLink value="Trigger lifecycle"
actionListener="#{requestBean.doNothing}"/>
<br/>
<h:panelGroup id="pgrp" binding="#{requestBean.group}">
</h:panelGroup>
</h:form>
One link will dynamically add an HtmlOutputText component to an HtmlPanelGroup. the other link just triggers a jsf lifecycle.
If you remove the icefaces jar from the war, with PartialStateSaving set to true (default anyways), then the HtmlPanelGroup state will continue to add another HtmlOutputText when you click on a link. With the icefaces jar, you only ever get the last HtmlOutputText component and if you trigger a new jsf lifecycle, it clears all state of the HtmlPanelGroup.
The only way to maintain state with the icefaces jar is to set PartialStateSaving to false in web.xml:-
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
and this is inconsistent with how JSF is behaving.
Customer has suggested a fix. (see diff attached).
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Field | Original Value | New Value |
---|---|---|
Assignee | Ken Fyten [ ken.fyten ] |
Attachment | ice3sbx.war [ 18496 ] |
Attachment | state_saving.patch [ 18497 ] | |
Attachment | state_saving.zip [ 18498 ] |
Fix Version/s | EE-3.3.0.GA_P03 [ 11572 ] |
Assignee | Ken Fyten [ ken.fyten ] | Mircea Toma [ mircea.toma ] |
Assignee Priority | P1 [ 10010 ] |
Attachment | sc13323a.war [ 18580 ] |
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Fix Version/s | EE-4.0.0.GA [ 11171 ] |
Affects Version/s | 4.0 [ 11382 ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee | Mircea Toma [ mircea.toma ] | Judy Guglielmin [ judy.guglielmin ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Assignee | Judy Guglielmin [ judy.guglielmin ] | Ken Fyten [ ken.fyten ] |
Assignee | Ken Fyten [ ken.fyten ] | Judy Guglielmin [ judy.guglielmin ] |
Resolution | Fixed [ 1 ] | |
Status | Resolved [ 5 ] | Reopened [ 4 ] |
Assignee | Judy Guglielmin [ judy.guglielmin ] | Mircea Toma [ mircea.toma ] |
Status | Reopened [ 4 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Fix Version/s | 4.1 [ 11375 ] |
Status | Resolved [ 5 ] | Closed [ 6 ] |