"这篇教学内容主要讲解了在Struts2框架中如何使用ActionSupport进行数据校验,包括ActionSupport类的使用、validate方法的重写、属性文件的定义以及错误信息在JSP页面上的展示。此外,还提到了Struts1.0的基本原理和缺点,强调了在开发时关注的核心组件和配置文件。"
在Struts2框架中,数据校验是一个重要的环节,用于确保用户输入的有效性和安全性。`ActionSupport`是Struts2提供的一种基础Action类,它包含了内置的校验功能。当用户提交表单时,如果输入的数据不符合预设的规则,`ActionSupport`类的`validate`方法会被自动调用来进行验证。
1. **ActionSupport的使用**:`ActionSupport`类继承自`Action`接口,并提供了默认的校验行为。开发人员可以通过继承`ActionSupport`,然后重写其`validate`方法来实现自定义的校验逻辑。在`validate`方法中,可以对Action的各个属性进行检查,如果发现不符合规则,可以添加FieldError到FieldErrors集合中。
2. **属性文件定义**:为了显示错误信息,我们需要创建一个属性文件,如`messageResource.properties`,并在其中定义错误消息。这些消息可以通过`key-value`对的形式关联到具体的校验错误,以便在JSP页面上显示。
3. **JSP页面上的错误信息展示**:在JSP页面上,通常使用Struts2的`<s:fielderror>`标签来显示校验错误。这个标签会自动查找并显示与表单字段相关的错误信息。注意,只有在JSP页面使用Struts2的`<s:form>`标签时,校验功能才会生效,因为`<s:form>`已经内置了处理校验错误的能力。
4. **导航结果页面演示**:当校验失败时,通常会有一个输入错误的页面供用户修正;而当校验成功后,Action会执行execute方法,根据配置的forward规则跳转到相应的结果页面,例如`/add_result.jsp`。
回顾Struts1.0,它的核心组件包括`ActionForm`和`Action`,以及配置文件`struts-config.xml`。`ActionForm`用于封装用户表单数据,`Action`则负责业务逻辑处理。配置文件用于定义`ActionForm`和`Action`之间的映射关系,以及请求转发的规则。然而,Struts1.0存在一些缺点,如支持的表现层技术较为单一,只支持JSP而不支持FreeMarker、Velocity等模板引擎,以及与Servlet API耦合度过高,导致测试难度增加。
Struts2的`ActionSupport`提供了一种方便的机制来处理数据校验,使得在处理用户输入时能够更好地控制程序的行为,提高应用的安全性和用户体验。通过结合属性文件和JSP页面,可以有效地向用户反馈校验错误,从而提高系统的交互性。