struts2中ActionContext获取关于request的MAP为什么为空?

Hello_sing 2015-07-03 11:58:15
如题,代码示例如下:
jsp页面:
<a href="testApplicationContext.action">测试ApplicationContext</a>
<%
request.setAttribute("address", "杭州");
%>
提交这个页面后转到对应Action如下:
public String execute(){
ActionContext actionContext=ActionContext.getContext();
Map<String,Object> requests=(Map<String, Object>) actionContext.get("request");
// String address=requests.get("address").toString();
// System.out.println(address);
return "success";
}
错误出现在注释的两行,提示说Map对象里面并没有键值,所以address为空。
我就想,jsp中已经通过setAttribute存入了,为什么这边取出来是空?
...全文
544 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
arthaslk001 2015-07-09
  • 打赏
  • 举报
回复
直接用ActionContext获取的request是与Servlet解耦的方式,不能访问web资源吧,试试用ServletActionContext.getrequest来获取request,然后再用request.getAttribute()获取看看
那年在东京 2015-07-09
  • 打赏
  • 举报
回复
往actioncontext中存属性,不是用<s:set 声明一个属性吗?
神的力量 2015-07-07
  • 打赏
  • 举报
回复
点击超链接是发送另一个请求。。。。B请求要是能拿到A请求的东西那才见鬼了。你把request改成session试试,肯定能取到值
二十亩鱼 2015-07-06
  • 打赏
  • 举报
回复
引用 7 楼 qq_16216221 的回复:
你点击超链接,就直接跳转了,a连接下的代码没执行。。。
看错题意 了 requests获取属性,不是get()发放
二十亩鱼 2015-07-06
  • 打赏
  • 举报
回复
你点击超链接,就直接跳转了,a连接下的代码没执行。。。
chen870201 2015-07-06
  • 打赏
  • 举报
回复
没看出在哪存入了
豫让_______ 2015-07-06
  • 打赏
  • 举报
回复
如3楼所说,这是2个请求。你换一种传值方式吧,比如链接后面?,或者表单提交。
Never_Given_Up 2015-07-06
  • 打赏
  • 举报
回复
struts使用request对象直接就可以得到的嘛,你又没有在上下文上绑定"request"的变量,肯定得不到request了。
XXX_xx_x 2015-07-06
  • 打赏
  • 举报
回复
这是两次请求,两个request
justiciar 2015-07-04
  • 打赏
  • 举报
回复
String address=requests.getAttribute("address").toString(); 这样试试!
Hello_sing 2015-07-04
  • 打赏
  • 举报
回复
引用 1 楼 include_home 的回复:
String address=requests.getAttribute("address").toString(); 这样试试!
这个requests是通过ActionContext获取的关于request里面的键值的Map,不是request对象本身,不存在getAttribute方法

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧