在commandLink中传递参数无效。JSF2

在commandLink中传递参数无效。JSF2,jsf,jsf-2,primefaces,parameter-passing,commandlink,Jsf,Jsf 2,Primefaces,Parameter Passing,Commandlink,我有一个使用SPRING3+JSF2(mojarra 2.1.12)的JSF web应用程序,我有以下问题:我想重定向我的网页,我想传递一个参数 首先,我使用了一个按钮,它工作正常,但后来我决定将其更改为commandlink。同样的代码不起作用,我也不知道为什么 第一个按钮代码如下: <sec:authorize ifAnyGranted="ROLE_USER"> <p:button id="miCuenta" value="miCuenta" title="miCu

我有一个使用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>

我不知道第二种方法有什么问题。有人吗


谢谢

因为您只想重定向到另一个视图,而不想执行任何操作,所以不要使用
h:commandLink
。改用
h:link

<h:link id="miCuenta" value="miCuenta" outcome="/views/usuarios/Usuarios">
    <f:param name="itemId" value="#{userContext.user.pk}" />  
</h:link>

您可以在
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>


结果(/views/usuarios/visorUsuario)与操作(/views/usuarios/usuarios?faces redirect=true)不同。你查过了吗?谢谢!它是有效的,但我把“结果”属性改为“行动”。如果采取行动,这是行不通的。谢谢你的帮助!哦,当然,更新了问题。如果答案对你有帮助,请接受。