JSP + AjaxAnywhere页面开发规范
版本历史
修改日期 版本 作者/修改人 修改内容 评审号 变更控制号
2006-1-23 0.1.1 喜日久美 初稿
2006-1-24 0.1.2 何坤 整理,修改完善
2006-9-13 0.1.3 何坤 增加服务器端编码说明, substituteFormSubmitFunction方法说明
1. 开发工具
AJAX框架:AjaxAnywhere,最新版本1.1.0.6 , http://ajaxanywhere.sourceforge.net/
2. 开发规范
2.1 概述
“JSP + AjaxAnywhere” 的结合开发,是为了在普通JSP应用中增加AJAX特性,从而改善用户体验,提高应用性能。
AjaxAnywhere能于JSP很好结合。对于一个普通JSP 应用,要使用 AjaxAnywhere框架在一些特定功能中增加AJAX特性,只需对JSP页面做简单修改,基本不需要进行Javascript 编程,个别场合只需要按规范添加少量Javascript 代码。
AjaxAnywhere + JSP 的结合与 AjaxAnywhere +JSF 的结合,在原理上是一致的, 但在使用上略有不同。对于二者的不同,可对照《JSF+Ajax页面开发规范》,根据具体情形的不同,可以选择不同的组合进行开发。这里的JSP指的是不包括JSF内容的简单JSP页面。
2.2 规范
对于一个普通JSP页面,需要做以下修改。
2.2.1引入ajaxanywhere的taglib
<%@ taglib uri="http://ajaxanywhere.sourceforge.net/" prefix="aa" %>
依照习惯 prefix定义为aa.。
2.2.2 引入ajaxanywhere客户端脚本(Javascript)
<script src="js/aa/aa.js"></script>
说明:aa.js 是AjaxAnywhere框架的客户端脚本库,对AJAX 特性进行了很好的封装。开发人员无须直接操作XmlHttpRequest 。
AjaxAnywhere客户端的核心类为 AjaxAnywhere ,其每一个实例代表一个AJAX处理器。aa.js中定义了一个缺省的AjaxAnywhere实例, 实例名为ajaxAnywhere, id为default。
2.2.3 form 属性的修改
如果要对form提交增加AJAX支持,需要注意。在form标签中,必须包含action属性,但可以为空,name属性,method属性为post,然后按正常方式书写表单项目。
例如:
<form action="clientSide.jsp" name="main" method="post">
2.2.4定义ajax zone(动态更新区域)
需要单独刷新的部分在jsp页面中使用tag:
<aa:zone name="<zoneName>"> </aa:zone>
括住需要更新的范围。
例如:
<aa:zone/> 标记是用于在JSP页面中增加AJAX特性支持,要对JSF组件增加AJAX 特性支持,需要使用 <aa:zoneJSF/> 标记。
name是zone Tag的必填属性,用于在一个JSP页面内唯一标识一个动态更新的区域。 一个页面可定义多个zone区域。
该标识的命名请遵循java变量命名规则。
2.2.5 修改表单的提交行为
表单的提交部分有两种,根据后台需要可以不同对待。
1) 通过get 方式发出的请求采用AjaxAnywhere.getAJAX()方法
例如:<input type="button" value="click me" onclick="ajaxAnywhere.getAJAX();">
2) 通过post方式发出的请求请采用 ajaxAnywhere.submitAJAX() 方法
例如:<input type="button" value="click me" onclick="ajaxAnywhere.submitAJAX();">
表单中的“提交”按钮,type需定义为 button, ajaxAnywhere.getAJAX()和ajaxAnywhere.submitAJAX() 会自动处理表单数据的提交。作为与server交互的所需识别的信息头,路径(action),数据由ajaxanywhere自行包装。
作为server端反馈部分,反馈的数据为xml类型,AjaxAnywhere客户端处理器最终将替换<aa:zone name="<zoneName>"></aa:zone> 中的全部内容,开发人员不需要进行其他编码处理。
另外一种方式是, 从外部给按钮增加 Ajax异步提交的效果:
例如, 为表单中所有 submit 和image类型按钮增加Ajax 特性:
例如, 为表单中特定按钮增加Ajax 特性
2.2.6 服务器端代码:
2.2.6.1 指定Ajax 刷新区域
要刷新<aa:zone/> 区域, 必须在服务器端代码中指定要刷新的区域. 一般有两种方式: 在JSP中指定, 和在 Java代码中指定:
在JSP中指定, 例如:
一般放在JSP的顶部.
一般放在JSP的顶部.
在 Java代码中指定, 通常是Web框架的控制器(Controller)代码中, Struts中是XXXAction类的方法中, JSF 中是 XXXFace 类的方法中. 例如:
2.2.6.2
分享到:
相关推荐
宿舍管理系统-jsp+servlet+mysql宿舍管理系统-jsp+servlet+mysql宿舍管理系统-jsp+servlet+mysql宿舍管理系统-jsp+servlet+mysql宿舍管理系统-jsp+servlet+mysql宿舍管理系统-jsp+servlet+mysql宿舍管理系统-jsp+...
在线投票系统-jsp+springMVC+mybatis在线投票系统-jsp+springMVC+mybatis在线投票系统-jsp+springMVC+mybatis在线投票...jsp+springMVC+mybatis在线投票系统-jsp+springMVC+mybatis在线投票系统-jsp+springMVC+mybatis
奖学金评定系统-jsp+ssm+mysql奖学金评定系统-jsp+ssm+mysql奖学金评定系统-jsp+ssm+mysql奖学金评定系统-jsp+ssm+mysql奖学金评定系统-jsp+ssm+mysql奖学金评定系统-jsp+ssm+mysql奖学金评定系统-jsp+ssm+mysql奖学...
基于java的开发源码-jsp+servlet+Javabean+mysql党员信息管理系统.zip 基于java的开发源码-jsp+servlet+Javabean+mysql党员信息管理系统.zip 基于java的开发源码-jsp+servlet+Javabean+mysql党员信息管理系统.zip ...
《WEB应用与开发》--JSP+SQL手机销售网站--课程设计报告.pdf《WEB应用与开发》--JSP+SQL手机销售网站--课程设计报告.pdf《WEB应用与开发》--JSP+SQL手机销售网站--课程设计报告.pdf《WEB应用与开发》--JSP+SQL手机...
Java EE WEB 工程师培训------JDBC+Servlet+JSP整合开发
基于java的开发源码-Java+jsp+mysql的宠物市场管理系统源码.zip 基于java的开发源码-Java+jsp+mysql的宠物市场管理系统源码.zip 基于java的开发源码-Java+jsp+mysql的宠物市场管理系统源码.zip 基于java的开发源码-...
基于 jsp + servlet + jquery + easy-ui + ajax 的学生成绩管理系统 基于 jsp + servlet + jquery + easy-ui + ajax 的学生成绩管理系统 基于 jsp + servlet + jquery + easy-ui + ajax 的学生成绩管理系统 基于 jsp...
《Java Web开发技术大全--JSP+Servlet+Struts 2+Hibernate+Spring+AJAX》.(李宁),适合java web开发者,学生,老师,或者已经工作的。内容详细全面,高清
这是JSP+Servlet+MySql新闻管理系统,环境Eclipse+Mysql+Tomacat8.5运行的,里面libJAR包都有,jsp+servlet+jdbc实现新闻管理系统,这个视频值得看,很基础。...
1-JSP+JDBC_假分页,1-JSP+JDBC_假分页,李兴华的笔记!!!
Java 开发--jsp+sql书店(论文)
Java 开发--jsp+mysql在线考试系统论文
Java Web开发技术大全--JSP+Servlet+Struts 2+Hibernate+Spring+AJAX.(李宁)
Java 开发--jsp+mysql远程餐厅预约系统-毕业设计
以前不知道哪里找到的一个系统,感觉很不错,使用文档,数据库文件,项目截图全都包括,后台使用Servlet+Jsp,前台用的H-ui+EasyUI+jQuery,很适合新手入门的学习,特别是代码里面许许多多的注释,让我受益匪浅,...
Java 开发--jsp+sql城乡信息管理(系统)
Java 开发--jsp+sql毕业选题系统(论文)
Java 开发--jsp+sql即时通讯工具(系统+论文)