struts2系列学习笔记(8)---------------类型转换的错误处理

由于用户输入的数据错误,而导致进行类型转换发生异常的情况时有发生.此时需进行类型转换的错误处理!

类型转换的错误处理方法:

(1)引用defaultStack拦截器栈 ----包如果继承自struts-default,则已经引用了

(2)Action类继承ActionSupport类或者实现ValidationAware接口

(3)为Action配置result name="input"的映射

默认错误信息显示为:

Invalid field value forfield "xxxx" (xxxx为实际字段名称)

如果不希望使用默认错误信息则有两种方法:

1. 全局资源文件中配置

          xwork.default.invalid.fieldvalue=<your error message>

          效果:所有类型转换错误,均显示为=<your error message>

2. 局部资源文件配置

          在当前Action包下创建文件名为:ActionName.properties

           文件内逐个字段定义错误信息,格式如下:

               invalid.fieldvalue.xxxx= <error message> (其中xxxx为字段名)

=============================================================================

特别说明:

         1.控制台信息

                 尽管类型转换进行了错误处理,可是在控制台仍然会显示错误信息.方法修改Log4j.properties文件相关错误信息输出级别

参考设置:

1.# Set root logger level to WARN and append to stdout  
2.log4j.rootLogger=WARN, stdout  
3. 
4.log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
5.log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
6. 
7.# Pattern to output the caller's file name and line number.  
8.log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c/:%L) - %m%n  
9. 
10.# Print only messages of level ERROR or above in the package noModule.  
11.log4j.logger.noModule=FATAL  
12. 
13.# OpenSymphony Stuff  
14.log4j.logger.com.opensymphony=INFO  
15.log4j.logger.org.apache.struts2=DEBUG  
16. 
17.log4j.logger.com.opensymphony.xwork2=ERROR 

         2.如果Action类型为int,double等基本类型,则null,""这样的错误信息无法捕获

                  把Action属性设置成为对应的封装类类型,例如int-->Integer

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值