You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sc...@apache.org on 2006/02/14 04:37:49 UTC
svn commit: r377600 -
/myfaces/core/branches/1_1_2/impl/src/main/java/org/apache/myfaces/taglib/core/ViewTag.java
Author: schof
Date: Mon Feb 13 19:37:47 2006
New Revision: 377600
URL: http://svn.apache.org/viewcvs?rev=377600&view=rev
Log:
Fixes MYFACES-1027 (Patch by Howard Abrams)
Modified:
myfaces/core/branches/1_1_2/impl/src/main/java/org/apache/myfaces/taglib/core/ViewTag.java
Modified: myfaces/core/branches/1_1_2/impl/src/main/java/org/apache/myfaces/taglib/core/ViewTag.java
URL: http://svn.apache.org/viewcvs/myfaces/core/branches/1_1_2/impl/src/main/java/org/apache/myfaces/taglib/core/ViewTag.java?rev=377600&r1=377599&r2=377600&view=diff
==============================================================================
--- myfaces/core/branches/1_1_2/impl/src/main/java/org/apache/myfaces/taglib/core/ViewTag.java (original)
+++ myfaces/core/branches/1_1_2/impl/src/main/java/org/apache/myfaces/taglib/core/ViewTag.java Mon Feb 13 19:37:47 2006
@@ -80,17 +80,8 @@
throw new JspException(e);
}
- StateManager stateManager = facesContext.getApplication().getStateManager();
- if (stateManager.isSavingStateInClient(facesContext))
- {
- if (log.isTraceEnabled()) log.trace("leaving ViewTag.doStartTag");
- return BodyTag.EVAL_BODY_BUFFERED;
- }
- else
- {
- if (log.isTraceEnabled()) log.trace("leaving ViewTag.doStartTag");
- return BodyTag.EVAL_BODY_INCLUDE;
- }
+ if (log.isTraceEnabled()) log.trace("leaving ViewTag.doStartTag");
+ return BodyTag.EVAL_BODY_BUFFERED;
}
protected boolean isSuppressed()
@@ -114,13 +105,6 @@
throw new JspException(e);
}
- StateManager stateManager = facesContext.getApplication().getStateManager();
- if (!stateManager.isSavingStateInClient(facesContext))
- {
- //save state in server
- stateManager.saveSerializedView(facesContext);
- }
-
if (log.isTraceEnabled()) log.trace("leaving ViewTag.doEndTag");
return super.doEndTag();
}
@@ -147,37 +131,44 @@
facesContext.setResponseWriter(realWriter);
String bodyStr = bodyContent.getString();
- int form_marker = bodyStr.indexOf(JspViewHandlerImpl.FORM_STATE_MARKER);
- int url_marker = bodyStr.indexOf(HtmlLinkRendererBase.URL_STATE_MARKER);
- int lastMarkerEnd = 0;
- while (form_marker != -1 || url_marker != -1)
+ if ( stateManager.isSavingStateInClient(facesContext) )
{
- if (url_marker == -1 || (form_marker != -1 && form_marker < url_marker))
- {
- //replace form_marker
- realWriter.write(bodyStr, lastMarkerEnd, form_marker - lastMarkerEnd);
- stateManager.writeState(facesContext, serializedView);
- lastMarkerEnd = form_marker + JspViewHandlerImpl.FORM_STATE_MARKER_LEN;
- form_marker = bodyStr.indexOf(JspViewHandlerImpl.FORM_STATE_MARKER, lastMarkerEnd);
- }
- else
+ int form_marker = bodyStr.indexOf(JspViewHandlerImpl.FORM_STATE_MARKER);
+ int url_marker = bodyStr.indexOf(HtmlLinkRendererBase.URL_STATE_MARKER);
+ int lastMarkerEnd = 0;
+ while (form_marker != -1 || url_marker != -1)
{
- //replace url_marker
- realWriter.write(bodyStr, lastMarkerEnd, url_marker - lastMarkerEnd);
- if (stateManager instanceof MyfacesStateManager)
+ if (url_marker == -1 || (form_marker != -1 && form_marker < url_marker))
{
- ((MyfacesStateManager)stateManager).writeStateAsUrlParams(facesContext,
- serializedView);
+ //replace form_marker
+ realWriter.write(bodyStr, lastMarkerEnd, form_marker - lastMarkerEnd);
+ stateManager.writeState(facesContext, serializedView);
+ lastMarkerEnd = form_marker + JspViewHandlerImpl.FORM_STATE_MARKER_LEN;
+ form_marker = bodyStr.indexOf(JspViewHandlerImpl.FORM_STATE_MARKER, lastMarkerEnd);
}
else
{
- log.error("Current StateManager is no MyfacesStateManager and does not support saving state in url parameters.");
+ //replace url_marker
+ realWriter.write(bodyStr, lastMarkerEnd, url_marker - lastMarkerEnd);
+ if (stateManager instanceof MyfacesStateManager)
+ {
+ ((MyfacesStateManager)stateManager).writeStateAsUrlParams(facesContext,
+ serializedView);
+ }
+ else
+ {
+ log.error("Current StateManager is no MyfacesStateManager and does not support saving state in url parameters.");
+ }
+ lastMarkerEnd = url_marker + HtmlLinkRendererBase.URL_STATE_MARKER_LEN;
+ url_marker = bodyStr.indexOf(HtmlLinkRendererBase.URL_STATE_MARKER, lastMarkerEnd);
}
- lastMarkerEnd = url_marker + HtmlLinkRendererBase.URL_STATE_MARKER_LEN;
- url_marker = bodyStr.indexOf(HtmlLinkRendererBase.URL_STATE_MARKER, lastMarkerEnd);
}
+ realWriter.write(bodyStr, lastMarkerEnd, bodyStr.length() - lastMarkerEnd);
+ }
+ else
+ {
+ realWriter.write( bodyStr );
}
- realWriter.write(bodyStr, lastMarkerEnd, bodyStr.length() - lastMarkerEnd);
}
else
{