我的自定义导航处理程序中的句柄导航方法handleNavigation(final FacesContext context, final String fromAction, final String outcome)
不是由我的h:link组件调用的?
<h:link value="text" outcome="./target.xhtml?faces-redirect=true">
<f:param name="param" value="#{var.prop}"/>
</h:link>
使用commandbutton调用它。
答案 0 :(得分:0)
<h:link>
之后不会发送POST请求,目标网址已被解析。相反,<h:link>
生成一个HTML <a>
元素,其中目标网址已经在href
属性中,而该属性又用于发送GET请求。此网址由ViewHandler#getBookmarkableURL()
获取,后者又委托给ViewHandler#getActionURL()
。
如果你正在使用Mojarra,你可以看到OutcomeTargetLinkRenderer#renderAsActive()
中的所有工作。
您可以通过展开ViewHandlerWrapper
并将其注册为ViewHandler
轻松提供自定义<application><view-handler>
。