struts2类型转换中的错误处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2类型转换中的错误处理相关的知识,希望对你有一定的参考价值。

由于类型转换过程中有可能出现原始参数无法转换为目标类型的错误,所以struts2提供了类型转换中的异常处理机制。

在struts2的默认配置文件struts-default.xml中有如下一段配置代码

<interceptors>
        <interceptor-stack name="defaultStack">
            <interceptor-ref name="conversionError"></interceptor-ref>
            <interceptor-ref name="validation">
                <param name="excludeMethods">input,back,cancel,browse</param>
            </interceptor-ref>
        </interceptor-stack>
    </interceptors>

该拦截器将负责将对应错误封装成表单域错误(FieldError),并将这些错误信息放入ActionContext中。然后系统会跳转到名为input的逻辑视图。如果struts的配置文件中配置了该逻辑视图指向的物理视图,就跳转入对应的物理视图,如没有配置,则根据约定跳转入/WEB-INF/content/input.jsp。在input.jsp中使用struts2的标签<s:fielderror/>则可以在页面上输出错误信息。

1.默认情况下,输出内容:Invalid field value for field 属性名 

在国际化资源文件中增加

xwork.default.invalid.fieldvalue=[0]字段类型转换失败!

则可以将默认提示修改为“=”后面的内容。

2.在某些时候,可能还需要对特定字段指定特定提示信息,则可通过ActionName.properties局部资源文件实现,在文件中增加

invalid.fieldvalue.<propName>=<tipMsg>

例如:invalid.fieldvalue.user.age=年龄必须是数字!

则在年龄字段转换失败时提示“=”后面的内容

以上是关于struts2类型转换中的错误处理的主要内容,如果未能解决你的问题,请参考以下文章

Struts2入门---消息处理和类型转换

struts2 之 struts2数据处理

java struts2入门学习---异常处理和类型转换

struts2中的类型转换,自定义类型转换器需要继承啥类

[原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器

java之struts2之类型转换