ICEfaces
  1. ICEfaces
  2. ICE-8747

FixViewState use of StateManager.getViewState(FC) disrupts state saving under MyFaces

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.2
    • Fix Version/s: 3.3
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      MyFaces
    • Assignee Priority:
      P2

      Description


      While investigating ICE-8324, it was found that component rendering code in FixViewState.ScriptWriter that calls Application.getStateManager.getViewState(FacesContext) triggers the StateManager's state saving of the view, in order to get the ViewState object. This then causes clearInitialState() to be called on all the UIComponents, which would not happen under Mojarra. Since state saving has happened in the midst of rendering, it then does not happen after rendering, as it should. The affect is that any state that is changed while rendering, such as from lazily loaded or set state, will then be lost between lifecycles.

      With ICE-8324 and the tabSet, a component work-around was employed, but the larger issue still remains.

      http://jira.icesoft.org/browse/ICE-8324?focusedCommentId=42816&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-42816

        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #33538 Wed Feb 20 17:01:40 MST 2013 deryk.sinotte ICE-8747: change the strategy of how we fix the ViewState of the forms during postbacks so that getViewState is not called in the middle of the render phase
          Files Changed
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/event/FixViewState.java
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/javascript/application.js
          Commit graph MODIFY /icefaces3/trunk/icefaces/core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java

            People

            • Assignee:
              Deryk Sinotte
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: