java struts2入门学习---异常处理和类型转换
一.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
View CodeTypeAction.java
View Codetype_struts.xml
View Codesturts.xml
View Codetype.jsp
View Codetype_success.jsp
View Code
效果截图:
1),不填写地址

2),查看结果,基本类型的数据自动转换成功

3),填写地址

4),这里配置了result中的input,一时出错页面将转发到type.jsp,并使用标签自带的错误消息回显.



浙公网安备 33010602011771号