WebWork2.2新特性(二):数据校验 validator
WebWork2.2中去掉了原来的JavaScript支持,使用AJAX和DWR进行客户端校验.
DWR最新版本为1.0RC3a(2005-8-29),Webwork里面带的是0.6的版本.
如果使用客户端校验,首先在Web.xml里配置DWR:
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
validators.xml的写法和原来一样,不过就是不能用原来的JavaScript的校验了(如果使用默认的validator,不需要这个文件)
<validators>
<validator name="required"
class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/>
<validator name="requiredstring"
class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/>
<validator name="stringlength"
class="com.opensymphony.xwork.validator.validators.StringLengthFieldValidator"/>
</validators>
对action的校验规则写法也是和原来一样,例如增加新闻的校验如下:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">
<validators>
<field name="news.title">
<field-validator type="requiredstring">
<message>请输入标题</message>
</field-validator>
</field>
<field name="news.content">
<field-validator type="requiredstring">
<message>请输入内容</message>
</field-validator>
</field>
</validators>
在页面的Form标签中写上validate="true" (注意使用的是alt syntax语法)表示需要进行客户端校验,
如果不写validate="true"则不需要进行客户端校验,仅进行服务器端校验,这就和DWR无关了,和以前的客户端校验一样.
<ww:form action="doAddNews" method="post" name="doAddNews" validate="true">
还需要在WEB-INF下面增加一个dwr.xml配置DWR,如果使用webwork自带的dwr,格式如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 0.4//EN" "http://www.getahead.ltd.uk/dwr/dwr.dtd">
<dwr>
<allow>
<create creator="new" javascript="validator" class="com.opensymphony.webwork.validators.DWRValidator"/>
<convert converter="bean" match="com.opensymphony.xwork.ValidationAwareSupport"/>
</allow>
</dwr>
如果使用DWR 1.0r3a(用新的版本不知道有没有问题),格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="validator" >
<param name="class" value="com.opensymphony.webwork.validators.DWRValidator" />
</create>
<convert converter="bean" match="com.opensymphony.xwork.ValidationAwareSupport"/>
</allow>
</dwr>
(注:一定要使用匹配dwr和dwr.xml,否则会报错)
通过查看页面Html源码,我们可以看到页面中包含了/webwork和/dwr的路径,这些路径由Webwork和DWR自动生成文件返回,避免了在每个项目中复制重复的文件.
<script src="/ww22test/webwork/validationClient.js"></script>
<script src="/ww22test/dwr/interface/validator.js"></script>
<script src="/ww22test/dwr/engine.js"></script>
<script src="/ww22test/webwork/template/xhtml/validation.js"></script>
其中字段使用onblur来进行调用校验:
<input type="text" name="news.title" value="" id="doAddNews_news.title" onblur="validate(this);"/>
至此,Webwork的客户端校验可以运行起来了.
分享到:
相关推荐
WebWork 2.2版本在原有的基础上引入了若干新特性,提升了开发效率和用户体验。在这个PPT压缩包中,包含了一个Word文档和一个PowerPoint演示文稿,它们详细介绍了这些新特性。 首先,WebWork 2.2在动作映射(Action ...
【标题】:“webWork2.2+spring+SpringMVC组合例子”是一个示例项目,展示了如何将三个经典的Java Web框架——WebWork2.2、Spring以及Spring MVC整合在一起,以构建一个完整的Web应用程序。这样的组合可以充分利用各...
WebWork2.2是一个基于Java的轻量级MVC(模型-视图-控制器)框架,主要用于构建Web应用程序。这个框架在2000年代初期非常流行,它提供了丰富的功能和灵活性,帮助开发者构建高性能、可维护的Web应用。本压缩包包含了...
WebWork2.2是其一个较早但仍然广泛使用的版本,它引入了许多创新特性,如动作映射、拦截器、类型转换等,以提升开发效率和代码质量。 ### MVC架构 在WebWork2.2中,MVC模式是核心设计思想。模型(Model)负责业务...
webwork2.2.jar 类包 web work2
webwork的包。webwork开发者不可缺少的
webwork 2.1.7 版 原版留存 xwork.jar
3. **Validator**:用于校验Action中传入的数据是否符合预期,支持各种验证规则和消息定制。 4. **Type Conversion**:自动将请求参数转换为Action方法所需的类型。 5. **Result**:定义如何处理Action执行后的结果...
9. **版本控制**:WebWork 有多个版本,每个版本都有其特定的功能和改进,例如WebWork 2.x是WebWork的经典版本,而Struts2其实是WebWork与Struts1合并后的产物,继承了WebWork的许多优秀特性。 在提供的"Webwork2 ...
6. **数据验证**:WebWork提供内置的验证机制,可以在服务器端对用户输入的数据进行校验,防止无效数据的入库。结合Spring的Validator接口,可以自定义更复杂的验证规则。 7. **视图渲染**:WebWork通常与JSP或...
WebWork验证框架提供了多种灵活且强大的特性,使得数据验证过程变得更加简单和高效。 1. **可配置的验证文件**: 验证文件是一个独立的XML配置文件,它定义了验证规则和对应的验证器。这种分离使得开发者能够在不...
通过阅读和实践,你可以了解如何创建第一个WebWork应用,如何编写动作类,以及如何利用WebWork的各种特性来构建高效、可维护的Web应用程序。此外,深入理解WebWork框架将有助于你进一步学习其他Java MVC框架,比如...
WebWork的核心特性包括: 1. **MVC(Model-View-Controller)架构**:这是一种设计模式,将业务逻辑(Model)、用户界面(View)和控制流程(Controller)分离,使代码结构更清晰,维护更容易。 2. **动作映射...
WebWork 2.0提供了强大的输入校验功能,能够自动检测和处理表单提交的数据,确保数据的有效性和安全性。这一特性对于构建健壮的Web应用程序至关重要,可以有效防止常见的安全漏洞,如SQL注入和跨站脚本攻击。 #####...
WebWork的核心特性包括: 1. **动作映射**:WebWork通过XML配置文件或注解来定义动作,将URL请求映射到特定的方法,提供了灵活的请求处理机制。 2. **拦截器(Interceptors)**:WebWork引入了拦截器的概念,允许...
WebWork2是WebWork的第二个主要版本,它提供了许多改进和增强的功能,使得开发者能够更高效地构建动态、交互式的Web应用。 WebWork的核心特性包括: 1. **强大的绑定机制**:WebWork允许开发者将HTTP请求参数直接...
4、 WebWork为每一次请求构建一个ValueStack,并将所有相关的数据对象(例如:Action对象、Model对象等)放到ValueStack中。再将ValueStack暴露给视图页面,这样页面就可以直接访问后台处理生成的数据。 下面我们...