struts2根本在request上无法真正实现和servlet解耦!还是和struts1一样,杯具!
举例:
比如说login.action?params=123.
这个params是在LoginAction类里面没有对应的属性和get、set方法的,
?
因为这个只是临时使用!有时候根本不需要弄那么多乱起八糟的属性放在Action类中或者封装在VO里面的。
这里就有一个很严重的问题,Struts2的Action根本就不能实现很好的解耦:
1、对于与servlet无关的的获取客户端的request里面的params的ActionContext.getContext().get("request")
或者
2、实现这些所谓的RequestAware,SessionAware,ApplicationAware接口也根本无法获取获取URL后面直接跟的参数。
他们返回的Map 对象永远都是NULL或者是不包含在URL请求里面的params的,
?
除非你给Action加上这个params属性和get、set方法,那样是可以的!
但是如果不使用struts2所谓能够解耦的方式而使用与servlet有关的方式:
1、ServletActionContext.getRequest();
2、实现ServletRequestAware,ServletContextAware接口。
这个就可以获取URL上面的参数,等于还是和struts1一样的,哎...................
给大家分享吧!
?