Struts2校验器详解:功能全面与优势对比

需积分: 9 0 下载量 174 浏览量 更新于2024-08-18 收藏 365KB PPT 举报
Struts2是一个基于MVC架构的Web应用框架,它在WebWork2的基础上发展而来,与早期的Struts1相比,Struts2在设计上实现了无侵入式开发,降低了对ServletAPI和strutsAPI的依赖。以下是Struts2提供的关键校验器列表: 1. **必填校验器** (`required`):用于检查表单字段是否为空,确保字段值非null。 2. **必填字符串校验器** (`requiredstring`):扩展了必填校验,要求字段值不仅非null,且长度大于0,并默认去除前后空格。 3. **字符串长度校验器** (`stringlength`):检查字段值的长度是否在指定范围内,minLength和maxLength参数控制了最小和最大长度,trim参数可设置是否去除前后空格。 4. **正则表达式校验器** (`regex`):通过expression参数指定的正则表达式验证字段内容,可设置caseSensitive参数来控制匹配时的大小写敏感性。 5. **整数校验器** (`int`):确保字段值为整数且在指定范围内,通过min和max参数定义范围。 6. **双精度浮点数校验器** (`double`):类似整数校验器,但针对浮点数类型,检查值在指定范围。 7. **字段OGNL表达式校验器** (`fieldexpression`):根据给定的OGNL表达式来验证字段值,表达式基于ValueStack求值,返回true表示校验通过。 8. **邮件地址校验器** (`email`):验证字段值是否为有效的电子邮件地址。 9. **URL校验器** (`url`):检查字段值是否为有效URL。 10. **日期校验器** (`date`):验证字段值是否符合指定的日期范围,min和max参数定义了日期限制。 11. **转换校验器** (`conversion`):处理类型转换失败时的错误提示。 12. **访问器校验器** (`visitor`):用于处理Action中的复合属性,通过外部校验文件进行属性验证。 13. **OGNL表达式校验器(仅限字段校验器风格配置)** (`expression`):同`fieldexpression`,但仅适用于字段校验。 除了校验器,Struts2还具有以下优势: - **拦截器机制**:支持AOP编程,例如权限控制。 - **类型转换器**:自动将特殊请求参数转换为所需类型,避免了在Struts1中手动注册转换器的繁琐。 - **多表现层支持**:允许使用JSP、FreeMarker、Velocity等多种模板引擎。 - **方法级输入校验**:解决了Struts1中全局校验的问题,能针对性地进行验证。 - **国际化资源管理**:提供全局、包级别和Action级别的国际化文件支持。 在搭建Struts2开发环境时,主要步骤包括: - 下载Struts2所需的jar文件,可以从官方网站获取最新版本。 - 编写Struts2配置文件,如`struts.xml`或`web.xml`中的Struts2 MVC框架配置。 - 在`web.xml`中添加Struts2的启动配置,确保框架正常运行。 通过这些校验器和框架特性,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 上传