`
yuanfen860913
  • 浏览: 119782 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

《Ajax开发精要》关于ajaxanywhere 教程六

阅读更多

11.3.4 试用AjaxAnywhere

读者可以从AjaxAnywhere的官方网站下载demo演示包,它是一个war工程包,可以直接部署在5.0以上版本的Tomcat服务器上。演示包中包含十二个AjaxAnywhere应用案例,包括级联的下拉列表、Web选项卡应用、JSF集成等,其部署到Tomcat后的首页效果如图11-28所示。

11-28 AjaxAnywhere演示包

演示包中不涉及JSF的案例全部都是用单纯的JSP代码编写的,或者内嵌在JSP页面中的Java代码块。虽然从MVC分离的角度看这种方式不尽合理,不过可以使案例尽量简单,不依赖于任何的MVC框架。AjaxAnywhere本身对此并无要求。

而且,其中全部的JSP页面中的表单都提交到页面本身,比如,忽略formaction属性。在实际的应用程序中,可以将表单提交到任何URL中,只要保证这个URL最终将导向(forward,不是redirect)包含指定刷新区域的JSP页面。

接下来将AjaxAnywhere部署到本章的开发目录中,并且用AjaxAnywhere改造一下案例1数据校验。复制ajaxanywhere-1.1.0.6.jar{APPLICATION_HOME}\webapps\ WEB-INF\lib文件夹,复制aa.jsAjaxCh11文件夹。修改案例1中例程6-5sample6_2.jsp如例程11-37所示。

例程11-37 修改后的数据校验ajaxRegister.jsp

<%@ page contentType="text/html; charset=gb2312"%>

<%@ page import="com.ajaxlab.ajax.*"%>

<%@ taglib uri="http://ajaxanywhere.sourceforge.net/" prefix="aa" %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>Ch11—案例:数据校验</title>

<link href="../css/style.css" rel="stylesheet" type="text/css">

<script language="javascript" src="aa.js"></script>

<script language="javascript">

ajaxAnywhere.formName = "form1";

ajaxAnywhere.getZonesToReload = function() {

return "feedback_info";

}

function doCheck() {

var f = document.forms[0];

if((f.username.value!="")||(f.email.value!="")) {

if(f.email.value!="") {

var pattern = /^[\w.\-\_]+@{1}\w+(\.{1}\w+)+$/;

var result = pattern.exec(f.email.value);

if(result==null) window.alert("电子邮件格式错误请按标准email名称格式填写,hello@sohu.com");

}

f.action = "ajaxRegister.jsp";

ajaxAnywhere.submitAJAX();

}

}

function formSubmit() {

var f = document.forms[0];

f.action = "login.jsp";

f.submit();

}

</script>

</head>

<body><center>

<form name="form1" method="post" action="login.jsp">

<table width="500" border="0" cellspacing="0" cellpadding="4">

<caption>用户注册</caption>

<tr>

<td width="70">用户名称:</td>

<td width="414"><input name="username" type="text" class="f orm_ text" id="username" size="40">

<input name="userCheck" type="button" class="button" id= " userCheck" value="惟一性检查" onClick="doCheck()">

</td>

</tr>

<tr>

<td>密码:</td>

<td><input name="password" type="password" class="form_tex t" id="password" size="40"></td>

</tr>

<tr>

<td>电子邮件:</td>

<td><input name="email" type="text" class="form_text" id= "email" size="40">

<input name="emailCheck" type="button" class="button" id= "emailCheck" value="惟一性检查" onClick="doCheck()">

</td>

</tr>

<tr>

<td colspan="2">

<font color="#FF0000">

<aa:zone name="feedback_info">

<%

String username = request.getParameter("username");

String email = request.getParameter("email");

UserService service = new UserService();

if((username!=null)&&(!"".equals(username))) {

UserValue user = service.findUserByName(username);

if(user!=null) out.println("用户名称["+username+"]已经被注册,请更换其他用户名称再注册。<br>");

else out.println("用户名称["+username+"]尚未被注册,您可以继续。<br>");

}

if((email!=null)&&(!"".equals(email))) {

UserValue user = service.findUserByEmail(email);

if(user!=null) out.println("电子邮件["+email+"]已经被注册,请更换其他用户名称再注册。");

else out.println("电子邮件["+email+"]尚未被注册,您可以继续。");

}

%>

</aa:zone>

</font>

</td>

</tr>

<tr align="center">

<td colspan="2"><input name="Submit" type="submit" class= "button" value="提交" onClick="formSubmit();return false;"></td>

</tr>

</table>

</form>

</center>

</body>

</html>

例程11-37引用了AjaxAnywhereJavascript库文件aa.js,并设置AjaxAnywhere对象的formNameform1,重载其getZonesToReload方法指定更新区域为feedback_info。事件处理函数doCheck()调用AjaxAnywhere对象的submitAJAX()方法,向服务器提交Ajax请求,并进行数据校验。页面上则使用了<aa:zone name="feedback_info"></aa:zone>标签指定原来<label>标记所定义的区域为页面可刷新区域,该标签最终被解析成<span id="feedback_ info"></span>。原来在register.jsp中的数据校验逻辑也整合到ajaxRegister.jsp中了。当单击“惟一性检查”按钮的时候,AjaxAnywhere向服务器提起数据校验请求,随后将校验结果显示在可刷新区域feedback_info,如图11-29所示。

11-29 AjaxAnywhere改造后的数据校验

<!-- page -->
分享到:
评论

相关推荐

    Ajax开发精要——概念、案例与框架

    Ajax开发精要——概念、案例与框架

    《Ajax开发精要 概念、案例与框架》书和码.part2.rar

    《Ajax开发精要 概念、案例与框架》书和码.part2.rar

    Ajax开发精要原码

    **Ajax开发精要原码详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了用户...

    ajax开发精要-概要,案例与框架源码

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这一技术的核心在于JavaScript,XML则...

    Ajax开发精要.pdf

    Ajax开发精要主要聚焦于利用Ajax技术进行WEB开发。Ajax,即Asynchronous JavaScript and XML(异步JavaScript和XML),是一种创建交互式网页应用的技术,它综合运用多种技术,包括JavaScript、XHTML和CSS、DOM、XML...

    ajax开发精要源代码

    本资源包含了关于Ajax开发的一些关键点和源代码实例,虽然可能并不完整,但仍能为理解Ajax的工作原理和实践应用提供宝贵参考。** Ajax的核心在于创建XMLHttpRequest对象,它是JavaScript内置的对象,用于在后台与...

    《Ajax开发精要 概念、案例与框架》书+源码

    这是《Ajax开发精要 概念、案例与框架》的电子书+源码,自制的jpg格式的pdg文件,请大家用UnicornViewer察看

    AJAX开发精要-概念,案例与框架配套源码

    综上所述,"AJAX开发精要-概念,案例与框架配套源码"可能涵盖这些主题,并提供示例代码和实践练习,帮助学习者深入理解AJAX技术及其在实际项目中的应用。通过学习和实践这些知识点,开发者可以创建更高效、更动态的...

    《Ajax开发精要 概念、案例与框架》书+码.part3.rar

    《Ajax开发精要 概念、案例与框架》书+码.part3.rar

    Ajax开发精要借鉴.pdf

    Ajax,全称Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它综合运用了一系列Web开发技术,包括...理解并掌握这些技术,对于开发高效的Ajax应用程序至关重要。

    Ajax程序开发经典实例教程.zip

    本教程“Ajax程序开发经典实例教程”旨在帮助开发者深入理解和掌握Ajax技术,通过实例学习,使学习过程更加直观和易懂。 Ajax的核心在于创建XMLHttpRequest对象,它是JavaScript内置的对象,用于在后台与服务器进行...

    Ajax开发精要——概念、案例与框架.

    **Ajax开发精要** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心在于利用JavaScript与服务器进行异步数据交换,提升了用户体验,使得网页更加动态...

    Ajax开发精要[定义].pdf

    Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。...在后续章节中,将进一步探讨JavaScript和DOM在Ajax中的具体应用,以及如何利用这些技术解决实际开发问题。

    开发精要 附书源码

    《Ajax开发精要》是一本深入探讨Ajax技术的专业书籍,旨在帮助开发者掌握使用Ajax进行高效、动态网页开发的核心技能。附带的源码是作者为了辅助读者理解和实践书中的示例而提供的,使得学习过程更加直观和实用。下面...

    ASP.NET AJAX实用开发详解 电子教程

    ASP.NET AJAX实用开发详解 电子教程

    ajax教程

    **Ajax 教程** ...- 《AJAX开发简略[1].part1-5.rar》:可能是某篇关于Ajax开发的系列教程,分多个部分详细讲解Ajax的各个方面。 通过这些资源,你可以全面地了解和掌握Ajax技术,提升Web开发能力。

    Ajax开发,Ajax例子,Ajax教程,Ajax开发源码, Ajax技术

    本教程将深入讲解AJAX开发,包括基本概念、实例、教程以及相关的开发源码。 **1. AJAX的基本原理** AJAX的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器进行通信。当用户触发某个事件(如点击按钮)...

    ZK框架:Ajax开发实战

    文件提供的信息中关于股票的基本概念、特征和作用,虽然和标题“ZK框架:Ajax开发实战”不直接相关,但通过提取和整合其中的股票知识,我们可以更全面地理解股票市场的基本运作机制,这对于培养投资意识和财务知识也...

Global site tag (gtag.js) - Google Analytics