jsp中用request.setAttribute()后,在action中为什么取不到值

jsp中用request.setAttribute()后,在action中为什么取不到值,第1张

不能这么请求。

因为页面上的request 和使用form提交的request 请求 不是一个对象。测试如下:

首先在jsp页面中打印出来request对象

<%

requestsetAttribute("test","test");

Systemoutprintln("request="+request+"返回页面对象");//这里打印出页面request对象

%>

部分action代码如下:

>

把<s:iterator value="admins" id="admin" >

改成

<s:iterator value="%{admins}" id="admin" >

用struts2的标签,value用ognl表达式取值

然后取对象里面的属性

直接el表达式:

比如<s:property value="adminpasswrod"/>

改成${password} 他默认找栈顶元素 相当于${toppassword} 你试试看

至于为什么要加session

因为你代码里面

ActionContextgetContext()getSession()put("admins",admins);

这句就是把Admins 绑定到session上了,

这个session不是你服务器端原始的session了

是经过Struts2封装后的session对象,已经被封装成了MAP类型的session了

#session 就是在session里面找Key叫admins的值

以上就是关于jsp中用request.setAttribute()后,在action中为什么取不到值全部的内容,包括:jsp中用request.setAttribute()后,在action中为什么取不到值、Struts2用action类从jsp中获取select中option的value值、Struts2 jsp页面获取action传来的list值无法显示试过很多方法了。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10155655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存