正 文

基于AJAX技术实现Struts校验框架


www.7dspace.com  更新日期:2006-4-21 15:36:56  七度空间



  四、 客户端

  构建Taglib组件

  · AjaxJavaScriptLibraryTag:该taglib组件负责生成客户端基本的XMLHTTP控制器函数的JavaScript函数部分。

  · AjaxErrorHtmlRenderTag:该taglib组件负责在JSP页面上生成显示错误消息的区域。

  配置Taglib定义

  在开发完taglib组件后,我们需要使用如列表3(见所附源码)的方式来配置taglib的tld文件。

  五、 构建JSP和Struts配置

  为了模仿校验处理的结果,我们首先需要构建描述层-这可以通过加入我们已经构建的taglib来实现。在本文实例中,我将尽力使用Struts提供的校验规则组件和表单本身的校验功能来给出一个校验的实例。现在,我们在JSP页面中准备5个文本框。第一到第四个文本框使用校验规则配置,第5个文本框使用来自action表单的校验过程。此外,我们还需要一个提交按钮来实现提交表单后对此的模仿。注意,至此,现有的Struts校验仍然没有使用AJAX。用户接口如图5所示。


图5.JSP校验页面

  六、 构建Action和Action表单

  对于Struts action,我们只需把它转发到我们已经构建的JSP即可,相应的action代码具有如下类似形式:

public ActionForward execute(...) {
return mapping.findForward("success");
}

  如果输入为空,那么Action表单代码就对requiredText属性进行校验。记住,要从AjaxForm类中派生此表单类。此Action表单的validate方法看上去如下:

public ActionErrors validate(...) {
ActionErrors errors = new ActionErrors();
if (StringUtils.isEmpty(this.requiredText)) {
errors.add("requiredText", new ActionError("error.required.input"));
}
request.setAttribute(Globals.ERROR_KEY, errors);
}

  七、 应用Struts校验规则

  接下来要配置Struts校验规则,例如最小长度,最大长度,电子邮件和模式文本,等等。然后,把这些数据应用于客户端的输入对象。这一部分相应的配置类见列表4(详见所附源码)。

  八、 校验处理流程

  首先,客户端初始化XMLHTTP组件以实现对服务器的请求。然后,一旦开始构建用户激活的事件,URL的参数就被发送给服务器。在结束构建参数后,客户端将依附oneadystatechange XMLHTTP事件来听取(listen)来自服务器端的响应。在接收响应后,客户端开始分析XML校验消息并且把该消息存放到适当的地方(见图6)。


图6.客户端处理流程

  当服务器接收请求时,它就开始检查AJAX校验的参数并且进行校验。一旦完成校验,生成的对象就被过滤到与用户输入对象相联系的特定的错误中。在过滤操作完成后,即刻生成XML消息并把该消息发送回客户端(见图7)。


图7.服务器端处理流程

  九、 总结

  在本文中,我们构建了一个控制器,它能够接收来自客户端的异步请求并且加入Struts校验过程来生成action错误对象。在生成错误对象和XML消息(见图8和图9)之后,对于即将被校验的特定输入对象的过滤操作立即执行。


图8.在Struts校验框架内使用AJAX实现应用程序校验测试


图9.Struts校验框架用例

2页,页码:[1] [2] 

上一篇:怎样设计网页
下一篇:让别人看不到我的网页源码
基于AJAX技术实现Struts校验框架 作者:朱先忠编译 来源:天极网
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐