我有一个使用SPRING3 + JSF2(mojarra 2.1.12)的JSF Web应用程序,我有以下问题:我想重定向我的网页,我想传递一个参数。
首先,我使用了一个按钮,它工作正常但后来我决定将其更改为commandlink。相同的代码不起作用,我不知道为什么。
第一个按钮代码如下:
<sec:authorize ifAnyGranted="ROLE_USER">
<p:button id="miCuenta" value="miCuenta" title="miCuenta" outcome="/views/usuarios/visorUsuario">
<f:param name="itemId" value="#{userContext.user.pk}" />
</p:button>
</sec:authorize>
我改为:
<sec:authorize ifAnyGranted="ROLE_USER">
<h:commandLink id="miCuenta" value="miCuenta" action="/views/usuarios/Usuarios?faces-redirect=true">
<f:param name="itemId" value="#{userContext.user.pk}" />
</h:commandLink>
</sec:authorize>
我不知道第二种方法存在什么问题。任何人吗?
谢谢!
答案 0 :(得分:1)
由于您只想重定向到另一个视图并且您不想执行任何操作,请不要使用h:commandLink
。请改用h:link
:
<h:link id="miCuenta" value="miCuenta" outcome="/views/usuarios/Usuarios">
<f:param name="itemId" value="#{userContext.user.pk}" />
</h:link>
答案 1 :(得分:0)
您可以在actionListener
<sec:authorize ifAnyGranted="ROLE_USER">
<h:commandLink id="miCuenta" value="miCuenta"
action="/views/usuarios/Usuarios?faces-redirect=true" actionListener="#{bean.listener(userContext.user.pk)}>
</h:commandLink>
</sec:authorize>
再见