通过request = ServletActionContext.getRequest()
与通过ActionContext context = ActionContext.getContext();
Map request = (Map) context.get( "request ");
这两种方法获得的request 有什么区别?如何选择?他们与Jsp页面中的内置对象request是同一个吗?也就是获得的request对象中用关于客户端的初始化信息吗(像ip地址等)?
------解决方案--------------------
区别在于,
ServletActionContext.getRequest() 获得的是完整的httpservletRqeust对象
(Map) context.get( "request "); 获得的只是httpservletRqeust中的parameterMap信息。
你想得到ip地址等,只能用第一种方式。
------解决方案--------------------
Map是Struts建立的一种模拟,不是真正的HttpServletRequest,很多功能都没有了,只能存放些变量。
好处呢,就是和Servlet API没有关系了,(轻量了)。