首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring webflow -访问会话

Spring webflow -访问会话
EN

Stack Overflow用户
提问于 2013-11-13 17:54:40
回答 1查看 4.8K关注 0票数 3

我正在尝试获取spring webflow中的session属性,但它不起作用。在一些控制器中,我有:

代码语言:javascript
复制
User u = userDao.getUser(userName);
session.setAttribute("sessionUser", u);

在JSP中,我可以获得它,并且它工作得很好:

代码语言:javascript
复制
${sessionScope.sessionUser.getLogin()}

我尝试了这样的东西:

代码语言:javascript
复制
<decision-state id="isUserLogged">
    <if test="sessionUser.getLogin() != null" then="startView" else="start" />
</decision-state>

但是我得到了一个错误:

代码语言:javascript
复制
EL1008E:(pos 0): Field or property 'sessionUser' cannot be found on object of type 'org.springframework.webflow.engine.impl.RequestControlContextImpl'

代码语言:javascript
复制
<decision-state id="isUserLogged">
        <if test="${sessionScope.sessionUser.getLogin()}" then="startView" else="start" />
    </decision-state>

错误:

代码语言:javascript
复制
 EL1041E:(pos 1): After parsing a valid expression, there is still more data in the expression: 'lcurly({)'

我的第一个问题是,如何在webflow中获取sessionUser

我还尝试调用控制器方法,因为在控制器方法中我可以获得sessionUser,但它不起作用。

我的第二个问题是,如何在webflow中调用控制器方法?

EN

回答 1

Stack Overflow用户

发布于 2013-11-20 07:10:44

Spring Web Flow中没有sessionScope。要访问会话中的对象,您需要使用externalContext隐式el变量,如下所示:

代码语言:javascript
复制
<if test="externalContext.sessionMap.sessionUser.getLogin() != null" then="startView" else="start" />
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19950591

复制
相关文章

相似问题

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