1、struts2 spring集成时action的class属性值意义
struts2单独使用时act
假如:LoginAction在包cn.edu.jlu.cs.act
a. struts2单独使用时,act
<action name="login" class="cn.edu.jlu.cs.action.LoginAction">
<result name="studentSuccess">
/student/studentindex.jsp
</result>
b. struts2与spring集成时,class属性是spring的applicationContext.xml中配置的bean的id属性值。
//struts.xml
...
<action name="login" class="LoginAction">
<result name="studentSuccess">
/student/studentindex.jsp
</result>
...
----------------------------------------------------------------------------------------
//applicationContext.xml
...
<bean id="LoginAction" class="cn.edu.jlu.cs.action.LoginAction" />
2、在struts2的ognl语言中,访问非根对象属性,例如#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext. getContext();#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute("msg")
3、struts2获得application、session、request的方法
- // 获得ActionContext实例,以便访问Servlet API
- ActionContext ctx = ActionContext.getContext();
- // 存入application
- ctx.getApplication().put("msg", "application信息");
- // 保存session
- ctx.getSession().put("msg", "seesion信息");
- // 保存request信息
- HttpServletRequest request = ServletActionContext.getRequest();
- request.setAttribute("msg", "request信息");
4、struts是表现层的框架,spring是业务层的框架,hibernate是持久层的框架
5、struts2来源于webwork2,并且与struts1.x完全不兼容