Ok, I was wrong, passing method binding expression to action parameter of s:link doesn't change anything. Outcome of invoked action method is matched in navigation rules and proper navigation occurs but page parameters are still being dropped. Sure I can use h:commandLink instead and then page parameters work just fine, but then I loose ability to open link in new tab or create bookmarks :(.
So my final question is: is there a way to transmit page parameters from s:link tag using it's
actionattribute rather than
The GET parameter you attach to s:link by f:param nedds to be declared as a page param to be honored when using jsf navigation rules. Consider the following link:
<s:link action="goSomewhere" value="Link"> <f:param name="foo" value="bar" /> </s:link>
To get it work you need the following in pages.xml:
<page view-id="/pageOne.xhtml" > <param name="foo"/> <navigation from-action="goSomewhere"> <rule> <redirect view-id="/pageTwo.xhtml" /> </rule> </navigation> </page>