Struts2基础与类型转换及错误处理
下载需积分: 10 | TXT格式 | 9KB |
更新于2025-01-08
| 30 浏览量 | 举报
"struts2基础.txt"
在Java Web开发中,Struts2是一个非常流行的MVC框架,它提供了强大的控制层支持,简化了业务逻辑与视图层的交互。本资源主要介绍了Struts2的基础知识,包括OGNL(Object-Graph Navigation Language)中的类型转换、自定义数据类型转换器、处理表单验证以及错误信息的显示。
1. OGNL与Struts2的类型转换
OGNL是Struts2中用于对象导航和表达式语言,用于在Action和视图之间传递数据。默认情况下,OGNL提供了一个`DefaultTypeConverter`,但有时我们需要自定义类型转换以满足特定需求。Struts2允许我们通过实现`StrutsTypeConverter`接口创建自己的类型转换器,并在需要转换的类或属性上使用注解`@ConversionProperties`指定转换器,例如`PointAction-conversion.properties`。此外,也可以在全局配置文件`xwork-conversion.properties`中注册转换器,例如`com.bean.Point=com.converter.PointConverter`。
2. 表单验证与错误处理
Struts2提供了内置的验证机制,允许我们在Action类中重写`validate()`方法来执行字段级别的验证。例如,当`point`对象为空时,可以通过`addFieldError("point", "point不能为空")`添加一个错误信息。在JSP页面中,我们可以使用`<s:fielderror>`标签来显示这些错误信息。如果未设置默认结果,可以配置`noDefaultResultForAction`来处理验证失败后的返回页面。
3. 复杂逻辑验证
在处理更复杂的验证逻辑时,例如验证生日是否早于毕业日期,可以在Action类中进行比较并添加相应的错误信息。例如,将两个`Calendar`对象`c1`和`c2`分别设置为生日和毕业日期,然后判断`!c1.before(c2)`,如果生日不早于毕业日期,则添加错误信息`this.addFieldError("birthday", "birthday should be before graduation")`。
4. 错误信息国际化
为了实现错误信息的国际化,Struts2提供了配置选项。首先,在`struts.xml`配置文件中添加常量`<constant name="struts.custom.i18n.resources" value="message"/>`,指定资源文件`message.properties`的位置。在`message.properties`文件中,可以定义如`xwork.default.invalid.fieldvalue={0} error`这样的键值对,其中`{0}`代表待转换的字段名。这样,系统会根据当前用户的语言环境加载相应的资源文件,显示对应的错误信息。此外,还可以针对不同的Action创建特定的`properties`文件,以实现不同Action间的差异化错误信息。
Struts2框架提供了丰富的功能来处理数据类型转换、表单验证和错误信息显示,使得开发者能够构建更加健壮且用户友好的Web应用程序。通过理解并掌握这些基础知识,可以更好地利用Struts2进行高效开发。
相关推荐
花布小棉袄
- 粉丝: 3
- 资源: 25
最新资源
- 行业文档-设计装置-一种具有储存功能的杯子.zip
- caidata:收集,存储和提供CAI Bot的Planetside 2 CensusEvent数据
- MUNI-FI-PA179:MUNI-FI:PA179 20182019
- 宇泰 UT-8811 USB转RS232驱动程序.zip
- nsis打包工具教程集合
- rust-music-theory —锈音乐理论库-Rust开发
- XYCMS养老院建站系统 v3.5
- moveit-next
- Demolito:UCI国际象棋引擎
- 任务栏:产品定义和项目管理文件
- 03_gpio_key.rar
- part_2b_decoding_vectorized.zip
- java-mail-lib
- 全景图爬取程序Pano
- isahc-有趣的实用HTTP客户端-Rust开发
- 宇泰 UT-860 USB TO RS-232驱动.zip