Java 在从一个页面导航到另一个页面(视图范围)时在备份bean中设置属性不起作用

Java 在从一个页面导航到另一个页面(视图范围)时在备份bean中设置属性不起作用,java,spring,jsf-2,Java,Spring,Jsf 2,我在视图范围中有一个支持bean权限,我有两个页面viewRoles和editRole映射到此支持bean 在viewRoles页面中,有一个指向editRole页面的链接: 它导航到另一个页面,但是没有设置属性,即使bean在视图范围内并且两个页面都映射到同一个支持bean。仅当我将视图范围更改为会话范围时,它才起作用 注意:我的bean由Spring管理,而且这个视图范围不是JSF默认的@ViewScoped,它是我在上找到的自定义范围。我还使用PrettyFaces来管理我的导航 问题是,

我在视图范围中有一个支持bean权限,我有两个页面viewRoles和editRole映射到此支持bean

在viewRoles页面中,有一个指向editRole页面的链接:

它导航到另一个页面,但是没有设置属性,即使bean在视图范围内并且两个页面都映射到同一个支持bean。仅当我将视图范围更改为会话范围时,它才起作用

注意:我的bean由Spring管理,而且这个视图范围不是JSF默认的@ViewScoped,它是我在上找到的自定义范围。我还使用PrettyFaces来管理我的导航

问题是,上述场景应该与真正的JSF2@ViewScoped@ManagedBean一起工作,还是与Spring或其他问题相关?
请告知。

不,这也不适用于JSF2bean。你基本上是在导航到一个不同的视图。只要通过在action方法中返回null或void与同一视图交互,bean就会一直存在。在命令链接中结合在目标视图中使用应该可以做到这一点

例如,在命令链接中:

在目标视图中:


不,这也不适用于JSF2bean。你基本上是在导航到一个不同的视图。只要通过在action方法中返回null或void与同一视图交互,bean就会一直存在。在命令链接中结合在目标视图中使用应该可以做到这一点

例如,在命令链接中:

在目标视图中:

同一问题发布于同一问题发布于
<h:form>
  <h:commandLink value="#{au.displayName}" action="pretty:editRole">
    <f:setPropertyActionListener target="#{authority.authorityId}" value="#{au.id}"/>                   
  </h:commandLink>
</h:form>