使用Struts2中应该注意的地方

一、标签库的使用

 

1、set标签

     set中要想得到不同访问域application、request、session里的值,可以这么写:

    

<s:set name="name" value="#request.name" />

 

     set中的value不支持表达式,只支持object和string。

 

二、后台Action

1. 获得Servlet中的request、response和session,可以这么写

 

ActionContext ctx = ActionContext.getContext();

//访问ServletContext,即Application
ctx.getApplication().get("name");
ctx.getApplication().put("name",name);

//访问HttpServletRequest
ctx.get("name");
ctx.put("name",name);

//访问HttpSession
ctx.getSession().get("name");
ctx.getSession().put("name",name);

 

    或者

 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import org.apache.struts2.ServletActionContext;


HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();        
HttpSession session = request.getSession();

 

 

三、配置文件

1.Struts2允许在Struts.xml文件中管理Struts2属性,在Struts2.xml文件中通过配置constant元素,一样可以配置这些属性。

<struts>
    <constant name="struts.custom.i18n.resources" value="globalMessages" />
    ...
</struts>

 上述配置用来声明国际化文件。

 

2.Struts2应用配置文件加载顺序如下

   (1)struts-default.xml(包含在Struts2-core.xml文件中)

   (2)struts-plugin.xml(包含在各插件JAR文件中)

   (3)struts.xml(应用相关的配置文件)

    从上面的加载顺序可以看出,应用相关的配置文件总是最后才加载的。因为应用可以依赖于插件,每个插件都可依赖于Struts2的核心,但插件之间不可相互依赖。

 

3.通配符匹配Action

   如果URL中的action名能跟struts.xml中带通配符的某个Action的name完全匹配,则一定匹配这个,否则按照action在struts.xml中的顺序,依次匹配。

 

4.struts.xml中配置声明式异常

   全局异常:

<global-exception-mappings>
   <exception-mapping exception="java.sql.SQLException" result="sql">
</global-exception-mappings>

<global-results>
    <result name="sql">/exception.jsp</result>
</global-results>

<action name="login" class="LoginAction">
    <exception-mapping exception="MyException" result="my">
    <result name="my">/exception.jsp</result>
</action>

    

 

四、与其它框架的联合使用

 

1. 与Spring的结合

    (1)拷贝如下jar包到WEB-INF\lib下

            spring-core-xxx.jar

            spring-context-xxx.jar

            spring-beans---xxx.jar

            spring-web-xxx.jar

            struts2-spring-plugin-xxx.jar

            commons-logging-xxx.jar

    (2)修改web.xml

            如果web项目是Servlet2.3之后的,可以这样

           

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

 

             如果是Servlet2.3之前的,必须这样

<servlet>
     <servlet-name>context</servlet-name>
     <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
      <load-on-startup>1 <load-on-startup>
</servlet>

 

      (3)在WEB-INF/下创建applicationContext.xml,作为spring的配置文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值