今天学习Struts2的时候遇到“访问和添加属性”的问题,然后就学到了ActionContext和ServletActionContext之间的区别和用法,然后又在网上搜了下别人的文章大致了解了一下,就想着总结一下。
参考文章1:http://www.cnblogs.com/tanglin_boy/archive/2010/01/18/1650871.html
参考文章2:http://blog.csdn.net/woshixuye/article/details/8172777
相信稍微了解的看看这三篇文章应该能够弄懂其中的意思。
下面写下我的总结以及写的代码。
public class Hello extends ActionSupport { public String execute(){ ActionContext ctx = ActionContext.getContext(); //创建ActionContext对象 ctx.getApplication().put("app", "Application范围");//向servletContext里放入app属性,内容是"Application范围" ctx.getSession().put("ses", "session范围"); //向session里面放入ses属性,内容是"Session范围" ctx.put("req", "request范围");//往request里放入req属性,内容是"request范围" return SUCCESS; } }
在我们取得Application、Session、Request对象之后,用put()方法添加属性,是因为得到的对象被框架封装成了Map对象下边的java代码是通过ActionContext对象访问前台传进来的属性
//在Action中取得request请求参数"username"的值: public class test extends ActionSupport{ public String execute(){ ActionContext ctx = ActionContext.getContext(); //得到ActionContext对象 Map param = ctx.getParameters(); //通过getParameters()方法返回一个Map对象 //通过param.get("username")可以取值。值得注意的是param.get("username")是一个String数组 //既然是String数组就需要这样取值 String value[] = (String[])param.get("username"); String username = ""; for(int i=0;i<value.length;i++) { username +=value[i]; } System.out.println(username); return SUCCESS; } }
Struts2中的ActionContext和ServletActionContext的区别和用法,布布扣,bubuko.com
Struts2中的ActionContext和ServletActionContext的区别和用法
原文:http://blog.csdn.net/u010800530/article/details/38351451