网络安全 频道

除旧迎新Java2005回顾与2006展望



四、客户端场景

构建标签库组件

  • AjaxJavaScriptLibraryTag:此标签库组件在客户端呈现JavaScript功能,以实现基本XMLHTTP控制器功能。
  • AjaxErrorHtmlRenderTag:此标签库组件在JSP页面呈现错误消息区域。

配置标签库定义

  开发出标签库组件之后,我们需要配置清单3中显示的标签库tld文件。

  清单3

<taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>ajaxLib</shortname> <tag> <name>library</name> <tagclass>net.sf.ajax.taglib.AjaxJavaScriptLibrary </tagclass> <bodycontent>JSP</bodycontent> </tag> <tag> <name>error</name> <tagclass>net.sf.ajax.taglib.AjaxErrorHtmlRender </tagclass> <bodycontent>JSP</bodycontent> <attribute> <name>property</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>event</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>

构建JSP和Struts配置

  要模拟验证处理的结果,我们首先需要构建呈现层,方法是合并我们已经构建的标签库。在此例中,我试图给出一个示例验证(通过使用来自Struts的验证规则组件)以及来自表单本身的验证。准备五个JSP页面下的文本框。第一个到第四个文本框使用验证规则配置,第五个文本框使用来自动作表单的验证流程。除此之外,我们还需要一个提交按钮,以在提交表单后模拟它,现有的struts验证仍在没有AJAX的情况下工作。用户界面外观如图5所示。



构建动作和动作表单

  为获得Struts动作,我们转到已经构建的JSP。此动作代码如下所示:

public ActionForward execute(...) { return mapping.findForward("success"); }
public ActionForward execute(...) { return mapping.findForward("success"); }
    如果输入为空,则此动作表单代码将验证requiredText属性。请记住,要从AjaxForm类扩展此表单。动作表单的验证方法如下所示:

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); }
0
相关文章