首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在页面之间存储共享数据以及如何控制数据的最佳实践

在页面之间存储共享数据以及如何控制数据的最佳实践
EN

Stack Overflow用户
提问于 2014-04-01 04:28:09
回答 1查看 226关注 0票数 0

我正在使用ADF技术在Jdeveloper 11.1.2.3中构建融合web应用程序。有些时候,我们需要在页面之间存储共享变量,比如雇员id、employee角色,还有一些时候,变量用作标志属性

我的问题是,这样做的最佳做法是什么?现在我使用session scope来存储这些数据,但我不确定这是否是首选的方法。

例如,如果我想在会话中存储某些内容,我将执行以下操作:

代码语言:javascript
复制
        FacesContext fc = FacesContext.getCurrentInstance();
        ExternalContext ectx = fc.getExternalContext();
        HttpSession userSession = (HttpSession)ectx.getSession(true);
        userSession.setAttribute("userID", [user id attribute goes here]);

如果我想把它拿回来,我会做以下几件事:

代码语言:javascript
复制
        Map sessionScope = ADFContext.getCurrent().getSessionScope();
        [data type] userIDFromSession = ([data type])sessionScope.get("userID");

但是我不知道如何在执行过程中清除会话,我也不知道是否有更好的方法来做同样的事情。

EN

回答 1

Stack Overflow用户

发布于 2014-04-02 12:17:04

如果这些是页面中的值,为什么要从后台Java代码中访问它们?为什么不使用表达式语言呢?如果页面位于同一个任务流中,那么您应该使用PageFlowScope。在表达式语言中创建一个bean、MyBean和access:#{pageFlowScope.myBean.attribute}在提交页面时自动调用getAttribute。当呈现页面时,将自动调用setAttribute。要从后台Java代码中访问bean,在这个实用工具类这里中有一些有用的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22776806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档