日期:2014-05-17  浏览次数:20622 次

struts2里取request的问题
页面请求时的URL里参数是有值的,在firebug里可以看到,请求到达action后,在具体处理方法里通过request来获取这些参数时取到的都是null,由此怀疑request就是null,后来换了其他方式来取request,但结果还是一样

Java code
HttpServletRequest request = ServletActionContext.getRequest();
String TRD_MOBILE = request.getParameter("TRD_MOBILE");
String TRD_AMOUNT = request.getParameter("TRD_AMOUNT");


其他方式,还包括IOC方式:
Java code
ActionContext ctx = ActionContext.getContext();
    HttpServletRequest request = (HttpServletRequest) ctx.get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);


------解决方案--------------------
看看是不是被包装过了,把参数穷举下:

Map<String, String[]> map = request.getParameterMap();
for (String key:map.keySet()) {
System.out.println(key + ": " + map.get(key)[0]);
}
------解决方案--------------------
url只留一个参数,其它的删掉,调试跟进action类,看看request能不能取到值。
------解决方案--------------------
探讨
你这种方式能取到呢

------解决方案--------------------
你用struts为什么还要用request.getParameter();

直接把接收的变量定义为成员变量不就行了。
------解决方案--------------------
探讨

你用struts为什么还要用request.getParameter();

直接把接收的变量定义为成员变量不就行了。

------解决方案--------------------
既然用struts2 干嘛不用setter getter
------解决方案--------------------
哈哈,同楼上