struts 获得参数的4个方法
1、第一种方法(测试不成功):
ActionContext ctx = ActionContext.getContext();
Map request = (Map) ActionContext.getContext().get("request");
System.out.println(request.get("name"));
2、第二种方法(推荐使用):
HttpServletRequest req1 = ServletActionContext.getRequest();
String n = req1.getParameter("name");
System.out.println("n------"+n);
3、第三种方法(有效,类似第一和第二方法的混合体):
HttpServletRequest req2 = (HttpServletRequest) ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
String sname = req2.getParameter("name");
System.out.println("req sname----" + sname);
以上第2、3种方法都可以获得HttpServletRequest,通过getParameter方法获取值。
4、第四种方法(有效):
Map<String, Object> params = ActionContext.getContext().getParameters();
System.out.println(((String[])params.get("name"))[0]);
因为得到的是 map 内的一个数组,所以得用"[0]"进行提取,这种用法很奇怪。