永发信息网

为什么session中的消息无法显示?

答案:5  悬赏:60  手机版
解决时间 2021-01-03 01:47
  • 提问者网友:你挡着我发光了
  • 2021-01-02 10:13
在Action中的某一个方法A将一条错误消息加入到session中,
然后跳转到另一个方法B,在方法B中将一条错误消息加到request中
为什么页面上只显示了request中的消息?
如果跳转到另一个页面,session又显示出来了

这是为什么呢?消息能够显示,应该是没有丢失的吧。。。
不能同时显示request和session中的消息吗?
还是说当request和session中都有错误消息时,优先显示request中的?

说明:
方法A redirect = true
方法B redirect = false

JSP画面上用<html:errors/>显示信息

分不多,请各位大大帮帮忙
在线等!
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-01-02 11:19
你 Session 和 request 中存储的信息的 key 名字是不是一样的?
比如:
sesison.setAttribute("key","value1");
request.setAttribute("key","value2");

如果是的话,那就正常;
因为如果你用el表达式取的话,他会从最小范围开始找这个key,当然 request 的有效范围比 Session 小,你可以再El表达式可以这样写: ${sessionScope.YouKey} 这个是取 Session的
${requestScope.YouKey} 这个是取 Request的

同理.其他范围也是. 这样写的好处还可以提高jsp效率。
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-01-02 13:26
如果你不加范围 那么读取的范围顺序应该是从小到大的 request<session
  • 2楼网友:爱难随人意
  • 2021-01-02 12:57

这几天都有点这种问题。

没事的,农场应该是在维修把。

  • 3楼网友:行雁书
  • 2021-01-02 11:33
因为页面跳转的时候默认是会从request中取数据的,session中的数据一般都是要你去操作,你可以强制地去读取session中的数据。
  • 4楼网友:零点过十分
  • 2021-01-02 11:27
先找request中的,找不到才会去找session中的,找到了就不找了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯