我有一个简单的 jsf 页面,其中包含处理这些参数的视图参数和加载方法:
<f:metadata>
<f:viewParam name="param1" value="#{bean.param1}"/>
<f:viewParam name="param2" value="#{bean.param2}"/>
<f:viewParam name="param3" value="#{bean.param3}"/>
<f:event type="preRenderView" listener="#{bean.load()}"/>
</f:metadata>
我还在@PostConstruct
. 如何将用户重定向到包含这些参数(不为空)的新位置。例如用户在浏览器中输入:
domain.com/page.jsf
并被重定向到:
domain.com/page.jsf?param1=valueA
因为 param1 设置在@PostConstruct
.
另一个问题 - 我在页面上有引用相同视图的链接:
<h:link value="clickme">
<f:param name="param3" value="otherValue"/>
</h:link>
当用户进入页面?param1=someValue
并单击链接时,被重定向到?param3=otherValue
但我想重定向到?param1=someValue¶m3=otherValue
. 我知道我可以添加更多参数,<h:link>
但是很难在每个参数中添加每个可能的参数<h:link>
PS。我使用来自这个主题JSF 2 和 Post/Redirect/Get?的 BalusC 技巧。