0

我有一个包含 5 列的数据表。第一列包含:

<p:column headerText="Ordine" filterBy="#{item.numeroOrdineLavoro}"
          sortBy="#{item.numeroOrdineLavoro}">

    <p:commandLink value="#{item.numeroOrdineLavoro}"
                   process="@this"
                   action="#{Bean_OrdiniLavoro.cmdSeleziona_Ordine}">

        <f:setPropertyActionListener target="#{Bean_OrdiniLavoro.sel_OrdineLavoro}" 
                                     value="#{item}" />
    </p:commandLink>
</p:column>

Bean_OrdiniLavoro 是 ViewScoped。Bean_OrdiniLavoro.cmdSeleziona_Ordine 在新页面中重定向。

每次我单击命令链接 Bean_OrdiniLavoro 都会重新创建。这就是问题。

<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
</context-param>

Primefaces 3.5 和 JSF 2.1.22。

我读过很多帖子说 PARTIAL_STATE_SAVING = false 就足够了但在这种情况下它不起作用。

如果我使用 a 而不是它的工作原理。

多谢。戴维德

4

1 回答 1

0

使用p:commandButton的action属性时,返回值是您要导航的位置。如果您返回一个非空值,您当前的视图将终止以支持新的视图。

如果要保持在同一个视图中,则必须返回null值或void

public String cmdSeleziona_Ordine()
{
    return null;
}

或者

public void cmdSeleziona_Ordine()
{

}
于 2013-05-21T09:13:38.643 回答