[jboss-user] [JBoss Seam] - Page Parameter not working
stephen.friedrich
do-not-reply at jboss.com
Tue Sep 11 17:29:47 EDT 2007
It seems I am caught in the heel that is framework integration once more: Seam 1.2.1, Trinidad 1.0.2, MyFaces 1.1.5
A page parameter set like this never makes it into the model:
<s:link view="/departments.xhtml" value="#{department.id}">
| <f:param name="departmentId" value="#{department.id}"/>
| </s:link>
It works in the seampay example (which does not use Trinidad). It also worked when in my prototype I developed on 2.0.0. (CVS), JBoss 4.2.1, JSF RI and Trinidad 1.0.2.
Now that I had to port my app to Seam 1.2.1, Tomcat 5.5.17 and MyFaces 1.1.5 it stopped working.
I might have traced it down to a difference in Seam 1.2.1 / Seam 2.0.0 (I don't understand the code good enough to be sure, though).
Seam 2.0.0 seems to apply request values unconditionally :
SeamPhaseListener.afterRestoreView
| -> Pages.instance().postRestore(facesContext);
| -> Pages.storeRequestParameterValuesInViewRoot(facesContext)
| -> Contexts.getPageContext().set( pageParameter.getName(), value );
Seam 1.2.1 only sets the parameter conditionally:
AbstractSeamPhaseListener.afterRestoreView
| ->
| if ( facesContext.getRenderResponse() )
| {
| Pages.instance().applyRequestParameterValues(facesContext);
| }
| else
| {
| Pages.instance().applyViewRootValues(facesContext);
| }
That condition never ever evaluates to true when I click the s:link.
Of course Trinidad 1.0.2 also must have something to do with it, since it works with seampay.
Please, some expert, help me out of my misery.
There's a deadline approaching and I have spent a whole day on this issue.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083186#4083186
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083186
More information about the jboss-user
mailing list