我有一个 JSF 页面,它加载一个用户并允许我将角色分配给该特定用户。支持 Bean,AssignRolesBean
是 @RequestScoped
,我希望它保持这样。然而,这是我的问题......
当表单提交时,它会调用AssignRolesBean.execute()
。然后,这将返回确认页面的路径。在此确认页面上,我想显示将分配哪些新角色以及将删除哪些角色。但是,我在将用户加载到确认页面时遇到问题。
在初始分配角色页面上,使用 GET 参数设置 userId。然后将其作为 h:inputHidden
元素添加到页面上。它确实被提交了。但是,同样,在下一页上,未设置 userId(这会加载用户)。有什么方法可以保留 RequestScope 而不必将 userId 存储在 SessionMap 中?有人告诉我,使用隐藏输入将允许您跨页面获取数据。但是,我遇到了麻烦。
最佳答案
如果你开发jsf2应用程序,你可以使用flashscope来传递参数。 有关闪存范围的更多信息,您可以查看Learning JSF2: Using Flash scope
或者你可以将参数放入 session 映射中
获取sessionMap的代码片段:
FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
关于java - 使用 JSF RequestScoped Bean 进行确认页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749792/