Jfinal从controller中存入的session,在前台取值取不到。

我后台controller存入用户的对象到session

setSessionAttr(dyOaTblUserinfor)setSessionAttr(dyOaTblPosition)render()

然后页面跳转到,前台页面用的是jfinal3.0的模板引擎。

#(user.userName)#(position.positionName)

怎么真个页面啥都没了。

控制台提示userName啥的。但是我数据库中存的确实是userName这个字段。

如下的地方我也加过。是怎么回事?

(Interceptors me) {
   me.add(SessionInViewInterceptor())}

但是后台用setAttr的话,前台是可以取出来的。

不知道怎么回事?求大神指导!

评论区

JFinal

2017-02-23 18:09

取的时候加一个 session 前缀: #(session.value) 这样的话 session 中的变量不会污染 request 级的变量

Ferrari8899

2017-02-23 18:11

@JFinal value是属性值吗?那我怎么指定我传的对象啊?

JFinal

2017-02-23 18:17

@Ferrari8899 value 不是属性值,只是个示例,你可以样:#(session.a.b.c.d.x.y.z)

Ferrari8899

2017-02-23 18:20

@JFinal 哦,谢谢!

抉择

2017-06-20 14:38

我加了session也取不出来,只有setAttr存入的数据可以取出来,怎么回事儿呢?@JFinal

JFinal

2017-06-20 16:48

@抉择 拦截器要添加: me.add(SessionInViewInterceptor())

hzzhzz

2017-09-22 16:08

您好,redirect到页面的如何取session中的值

JFinal

2017-09-22 16:16

@hzzhzz #(session.obj.value)

hzzhzz

2017-09-22 16:38

阿帕奇

2017-10-31 19:11

if里面怎么取呢?#if(session.value) #end 这样取不到吗?

阿帕奇

2017-10-31 19:25

已经解决了;这句恍然大悟拦截器要添加: me.add(SessionInViewInterceptor())

we0476

2017-11-04 12:54

@JFinal 我是要把session写在service里呢还是写在controller层里呢? 在视频《JFinal极速开发企业实战》中没有提到session呀

JFinal

2017-11-05 11:50

@we0476 service 层只与业务有关,不要与 web 层的 session、request 这类东东耦合,session 中无非就是存一些数据,在控制层获取这些数据,当成参数传入 service层,建议加入俱乐部获取最佳实践,少走很多弯路

chyjk

2017-11-28 14:25

session添加数据 在另一个接口中取不出来,sessionId重新生成了

sdfsxxxxxxx

2018-03-07 19:04

3
333333

langao_

2018-12-22 10:20

您好,redirect到页面的如何取session中的值,#(session.obj.value)取不到

JFinal

2018-12-22 12:21

@langao_ 添加这个没:
me.add(SessionInViewInterceptor())

ShakaW

2019-05-14 16:43

@Jfinal 您好,我在前端页面加了一个frameset框架,是这个原因导致我没办法在框架内的页面中去到值吗

JFinal

2019-05-14 16:48

@ShakaW session 与 frameset 无关,只与 cookie 有关, 而 cookie 与域名有关, 如果你的 frameset 指向了另一个域名,那么 cookie 中将没有与 session 相关联的值,进而 session 也会没有