[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Gavin King
gavin.king at jboss.com
Tue Mar 20 21:12:28 EDT 2007
User: gavin
Date: 07/03/20 21:12:28
Modified: src/main/org/jboss/seam/core Pages.java
Log:
JBSEAM-1083
Revision Changes Path
1.109 +12 -11 jboss-seam/src/main/org/jboss/seam/core/Pages.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Pages.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Pages.java,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- Pages.java 14 Mar 2007 03:28:41 -0000 1.108
+++ Pages.java 21 Mar 2007 01:12:28 -0000 1.109
@@ -621,28 +621,29 @@
*/
public void applyRequestParameterValues(FacesContext facesContext)
{
+ //first store the page parameters into the viewroot, so that if
+ //we fail while applying to the model, we can still make
+ //Redirect.captureCurrentView() work.
String viewId = getViewId(facesContext);
Map<String, String[]> requestParameters = Parameters.getRequestParameters();
for ( Page page: getPageStack(viewId) )
{
for ( Param pageParameter: page.getParameters() )
{
-
Object value = pageParameter.getValueFromRequest(facesContext, requestParameters);
- if (value!=null)
- {
- ValueBinding valueBinding = pageParameter.getValueBinding();
- if (valueBinding==null)
+ if (value==null)
{
- Contexts.getPageContext().set( pageParameter.getName(), value );
+ Contexts.getPageContext().remove( pageParameter.getName() );
}
else
{
- valueBinding.setValue(value);
- }
+ Contexts.getPageContext().set( pageParameter.getName(), value );
}
}
}
+
+ //now apply them to the model
+ applyViewRootValues(facesContext);
}
/**
More information about the jboss-cvs-commits
mailing list