struts2 学习笔记(一)——配置文件

包配置:

         在包配置中可以使用抽象包,即该包不包含Action定义,可被其他包继承。设定package的abstract=”true”.

         包配置的 extends指定该包继承于其他包,可以继承其他包中的Action定义、拦截器定义等。

默认Action和拦截器

         在xml中最后定义,当action没有配置时,执行的Action,使用fault-action-ref 指定.,如用于将页面转向到出错、主页、登录页面

<default-action-ref name="simpleAction" />

<action name="simpleAction" class="util.SimpleAction">

      <result></result>

</action>

        使用default-interceptor-ref指定默认的拦截器

拦截器配置

         作用: 进行权限控制(检查用户是否是登陆用户,是否有足够的权限);跟踪日志(每个浏览者请求的action);性能瓶颈(记录每个action的开始和结束时间,多使用 timer拦截器实现,使用timer需要修改loogger的级别为info)

使用通配符:

         在struts.xml的配置中,可以在name定义通配符,在 class , method ,result字段中使用通配符。

         当在class中使用通配符代表不同类相同的功能,如配置部分的物理链路和虚链路的更新、删除等;当在method中使用通配符代表同一类中不同的功能,如gotoCreate和gotoUpdate可以使用通配符;当在result中出现代表根据参数完成相应的转向,这里不仅支持通配符,如 {1}.jsp,还支持ONGL变量${result}.jsp 

        格式为: * 代表参数变量,可以在一个<action>指定多个,引用时使用 {1} {2} 完成引用,实例如下:

<action name=”*Action”class=”lee.{0}Action” method=”{0}”>

         <result type=”redirect-action”>${result}Action

</action>

{0} 代表引用前面出现的所有*  {1} 代表引用第一个出现的*

常见的处理结果

         Plaintext:当在页面上输出源代码时

         Redirect:和dispatcher相比,是完成重定向

         Redirect-action:功能类似于redirect,不过redirect完成的资源(jsp)的重定向,而redirect-action完成到action的定向,可以指定两个参数:actionName和namespace,可以重定向到不同包的Action。

         全局结果:定义在多个action中会用到的结果,使用 global-results中配置result完成定义。

Action中传入参数

         可以在struts.xml中配置Action中属性的值,在Action元素中配置:<paramname=”属性名”>值</param>

声明式异常

         使用异常并实现异常处理和代码的解耦。

         需要1)配置exception的拦截器,默认已配置。2)使用  exception-mapping元素 和参数 exception(映射的异常类,如javax.sql.SQLException),result(要映射的资源结果,如”error”)完成配置。

         可以分为1)全局声明异常,在 元素global-exception-mappings中定义;2)局部声明异常,在action中定义。

         实现方式: 1) 在Action中使用throws newSQLException(“查询字符串错误”) 抛出异常。 2)在struts.xml中配置 <exception-mapping exception=”javax.sql.SQLException” result=”error”><result name=”error”>error.jsp</result>  3)在error.jsp中<s:propertyvalue=”exception”> 输出异常对象,类似于java中的SQLException对象,  <s:property value=”exceptionStack”/>  输出异常的堆栈。

        实例如下:

  <!-- 全局性的通用跳转页面 -->
   <global-results>
    <resultname="login">/login.jsp</result>
    <resultname="error">/common/error.jsp</result>
   </global-results>

  <!-- 全局性的异常映射 -->
   <global-exception-mappings>
    <!-- Action抛出Exception异常时,转入名为error的结果,这一项要放在最后 -->
   <exception-mappingexception="java.lang.Exception" result="error" />
   </global-exception-mappings>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值