一.struts2对异常的处理

1.自定义局部异常:

<action>
<exception-mapping result="sonException" exception="java.lang.ArithmeticException"></exception-mapping>
</action>

2.自定义全局异常:

    <!-- 配置全局异常处理 -->
        <global-exception-mappings>
            <exception-mapping result="sonException" exception="java.lang.ArithmeticException"></exception-mapping>
        </global-exception-mappings>

 3.异常执行的优先级

  >>当同时出现全局和局部异常时,局部异常优先,即局部异常优先于全局异常执行,如果全局和局部异常相同,那么将以局部异常为准.

    >>当异常出现父子关系时,子异常优先.如java.lang.ArithmeticException是java.lang.Exception的子类.如果同时进行配置的话,那么以java.lang.ArithmeticException为准.

如:

<!-- 配置全局异常处理 -->
        <global-exception-mappings>
        <exception-mapping result="sonException" exception="java.lang.ArithmeticException"></exception-mapping>
        <exception-mapping result="fatherException" exception="java.lang.Exception"></exception-mapping>
        </global-exception-mappings>

 

    <!-- 配置全局结果处理 -->
        <global-results>
            <result name="success" type="dispatcher">
                /WEB-INF/success.jsp
            </result>
            <result name="sonException" type="dispatcher">
                /WEB-INF/sonException.jsp
            </result>
            <result name="fatherException" type="dispatcher"> 
                /WEB-INF/fatherException.jsp
            </result>
        </global-results>

 

二.struts2中的类型转换

1、内置类型转换器

HTTP没有类型的概念,只能将表单的参数,以String或String[]的方式接收.

>>1).struts2提供了内置的类型转换器,它能将string类型和8种基本类型自动转换.

>>2).struts2的内置类型转换器,能将java.util.Date与String类型自动转换,但Date类型的字符串格式必须为yyyy-MM-dd的格式;同时struts2会自动检测日期的合法性,如01-33这种就不能通过.

>>3).内置转换器,不能将String类型转换成任意javaBean类型,这里需要使用自定义转换器.

下面以实例来演示:

Address.java

package type;

/** 
* @ClassName: Address 
* @Description: 定义一个address model
* @author: amosli
* @email:amosli@infomorrow.com
* @date Jan 26, 2014 1:53:33 AM  
*/
public class Address {
    private String province;// 省份
    private String city;// 城市
    private String area;// 区域

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

}
View Code

相关文章:

  • 2021-07-11
  • 2021-10-11
  • 2022-01-03
  • 2021-10-14
  • 2021-04-23
  • 2021-05-24
  • 2021-11-16
  • 2021-09-02
猜你喜欢
  • 2021-07-25
  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
相关资源
相似解决方案