Struts2 校验器详解与框架优势

需积分: 9 6 下载量 91 浏览量 更新于2024-08-18 收藏 365KB PPT 举报
"这篇教程介绍了Struts2框架中提供的各种内置校验器,这些校验器主要用于表单数据的验证,确保用户输入符合特定规则。Struts2是一个基于MVC模式的Java Web框架,旨在提高开发效率并提供更加灵活的设计。与Struts1相比,Struts2具有无侵入式设计、拦截器支持AOP编程、类型转换器、多视图技术支持以及更强大的输入校验等优势。" 在Struts2中,数据验证是非常关键的一环,以确保用户提交的信息准确无误。以下是Struts2提供的校验器及其详细说明: 1. **required**:这个校验器强制要求字段值不能为null,即字段必须填写。 2. **requiredstring**:除了要求字段值不能为null,还要求其长度大于0。默认会去除字符串前后的空格。 3. **stringlength**:用于验证字符串长度,允许设置最小(minLength)和最大(maxLength)长度限制,还可以通过trim参数决定是否在验证前去掉字符串两端的空格。 4. **regex**:根据指定的正则表达式(expression)进行匹配,可选择是否区分大小写(caseSensitive)。 5. **int**:验证整数字段,可以设定最小(min)和最大(max)值范围。 6. **double**:适用于双精度浮点数,同样可以设置最小(min)和最大(max)值。 7. **fieldexpression**:通过OGNL(Object-Graph Navigation Language)表达式判断字段值是否满足特定条件。 8. **email**:验证字段值是否为有效的电子邮件地址,只有在字段非空时才执行此校验。 9. **url**:检查字段值是否为合法的URL地址,非空时生效。 10. **date**:验证日期字段是否在指定的日期范围内,可以设置最小(min)和最大(max)日期。 11. **conversion**:当类型转换失败时,使用此校验器显示错误信息。 12. **visitor**:针对Action中的复合属性进行校验,需要指定一个校验文件来验证复合属性的各个部分。 13. **expression**:类似于fieldexpression,但不可用于字段校验器配置,而是基于ValueStack评估OGNL表达式,返回true时校验通过。 Struts2的这些校验器使得开发者能够方便地实现复杂的验证逻辑,提高应用的安全性和用户体验。同时,Struts2的其他特性,如拦截器和类型转换器,也为开发者提供了更多灵活性,使其能更好地处理AOP编程和数据类型转换。通过合理配置Struts2的框架,开发者可以构建出高效且健壮的Web应用程序。

我用Spring5的aop应用时报这个错误Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\ecliple\web5\WEB-INF\applicationContext.xml]; nested exception is java.nio.file.NoSuchFileException: WEB-INF\applicationContext.xml,他说我的applicationContext.xml文件不存在,可是我明明有这个文件,另外我的web.xml需要更改吗<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <context-param> <param-name>contextConfigLocation </param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <display-name>Struts2</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/* </url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>

2023-05-30 上传