[seam-dev] Suppressing parameter inclusion for s:link
Christian Bauer
christian.bauer at gmail.com
Fri Oct 24 07:48:42 EDT 2008
On Oct 24, 2008, at 13:21 , Pete Muir wrote:
> As Christian said, <f:param name="whatever" /> is probably the wrong
> syntax for this, as it implies you are adding a parameter, not
> removing it. Maybe we need an <s:suppressPageParameter name="foo" />
> instead.
-1, just document <f:param name="foo" value="#{null}"/> and that's it
for suppressing a page parameter. Overriding is then consistent with
<f:param name="foo" value="#{override}"/>. This would be the easiest
solution. Any syntax we come up with to do the same in a different way
is going to be more complex.
Or/and we do this:
<page view-id="one.xhtml">
<param name="foo" value="#{binding.getterAndSetter"/>
<param name="bar" value="#{binding.getterAndSetter"/>
</page>
Regular link that evaluates #{binding.getterAndSetter} to get the
"foo" and "bar" parameter values (that's the (current) default):
<s:link view-id="one.xhtml" page-parameters="override"/>
Link that only contains the "bar" parameter with
#{binding.getterAndSetter} value:
<s:link view-id="one.xhtml" page-parameters="override">
<f:param name="foo"/>
</s:link:
Link that only contains the "bar" parameter with #{binding.other} value:
<s:link view-id="one.xhtml" page-parameters="override">
<f:param name="foo"/>
<f:param name="bar" value="#{binding.other}"/>
</s:link:
Link that only contains the "foo" parameter with
#{binding.getterAndSetter} value:
<s:link view-id="one.xhtml" page-parameters="ignore">
<f:param name="foo"/>
</s:link>
Link that only includes the "foo" parameter with #{binding.other} value:
<s:link view-id="one.xhtml" page-parameters="ignore">
<f:param name="foo" value="#{binding.other}"/>
</s:link>
The advantage here is that we can keep it backwards compatible, if you
have the default page-parameters="override", the #{null} trick, the ""
value trick, and the no-value-attribute all continue to work as before.
But really, this is not so much an absolutely necessary code feature,
it's foremost a documentation change. Even an FAQ entry would be OK.
More information about the seam-dev
mailing list