struts小知识点

1、struts2 spring集成时action的class属性值意义  

struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建。这导致在两种情况下struts.xml配置文件的略微差异。

假如:LoginAction在包cn.edu.jlu.cs.action中。

a. struts2单独使用时,action的class属性为LoginAction的全路径名,如下:

<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的方法

  1. // 获得ActionContext实例,以便访问Servlet API  
  2.         ActionContext ctx = ActionContext.getContext();  
  3.         // 存入application  
  4.         ctx.getApplication().put("msg""application信息");  
  5.         // 保存session  
  6.         ctx.getSession().put("msg""seesion信息");  
  7.         // 保存request信息  
  8.         HttpServletRequest request = ServletActionContext.getRequest();  
  9.         request.setAttribute("msg""request信息");

4、struts是表现层的框架,spring是业务层的框架,hibernate是持久层的框架

5、struts2来源于webwork2,并且与struts1.x完全不兼容



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值