前面谈了用最原始的方式实现AJAX在JSP中,但这里介绍一种Java类jsonrpc,对AJAX的底层实现做了封装,用起来很方便。
下面就举个例子简单的介绍一下这个类的用法。
例如我现在需要实现一个JSP页面中下拉列表内容的异步传输。里面的内容来自数据库中的有关数据。
那么第一步你就需要建立一个类比如ajaxBean,大家要注意了这个类要实现java.io.Serializable这个接口,因为这个类要被客户端的类调用即
远程调用,会涉及到类的序列化以及反序列化,所以要实现这个接口吧!(我自己的理解)下面举个很简单的例子里面只有一个方法:
public class ajaxBean extends BaseLog implements java.io.Serializable{//这个类还是先了日志类的接口便于程序调试
public String[][] getMemberLevel(){
String[][] options = null;
MemService service = new MemServiceImpl();//这个类是是用与与数据库打交道的
try{
List list = service.browseMemberLevel();//返回自己需要的内容并放在List中。
Memberlevel ml = null;
int i = 0;
if (list!=null){
options = new String[list.size()][2];
Iterator it = list.iterator();
while(it.hasNext()){
ml = (Memberlevel)it.next();
options[i][0] =ml.getId().toString();
options[i][1] =ml.getLevelName().trim();
i++;
}
}else{
options = new String[1][2];
options[0][0] ="0";
options[0][1] ="无会员级别";
}
}catch(Exception ex){
logger.info("在执行AjaxBean类中的getMemberLevel方法时出错:\n");
ex.printStackTrace();
}
return options;
}
}
然后在对应的JSP页面中需要添加一下内容:
<jsp:useBean id="JSONRPCBridge" scope="session" class="com.metaparadigm.jsonrpc.JSONRPCBridge"/>//导入的包
<jsp:useBean id="ajax" class="com.base.ajaxBean"></jsp:useBean>//自己设置Bean的位置
<%
JSONRPCBridge.registerObject("ajax",ajax);
%>
<script language="javascript">//在JavaScript中直接利用这个类调用方法,然后在JavaScript中对结果进行操作
//构造商品分类下拉列表
jsonrpc = new JSONRpcClient("JSON-RPC");
var result = jsonrpc.ajax.getmemberlevel();
for (var i=0;i<result.length;i++){
option =document.createElement("OPTION");
option.value = result[i][0];
option.text = result[i][1];
document.all.category.options.add(option);
}
</script>
这个类很好,因为它可以在JavaScript中直接使用而且返回的结果可以直接利用JavaScript操作,同时JavaScript又可以动态的操作HTML,所以结合JavaScript用很不错!当然这个远程调用的方法(应该可以这样叫吧)里面没有参数,但可以有参数。
分享到:
- 2009-05-20 16:09
- 浏览 1722
- 评论(0)
- 论坛回复 / 浏览 (0 / 2288)
- 查看更多
相关推荐
Ajax2 1.6.2 是一个用于构建动态、交互性网页应用的JavaScript库,它扩展了原有的Ajax技术,提供了一套完整的框架来简化异步数据通信和局部页面更新。这个版本的Ajax2包含了多个jar包,这些jar包是Java应用程序开发...
**Ajax2 1.6.2 Jar包与配置文件详解** Ajax2是一个JavaScript库,用于在Web应用程序中实现异步JavaScript和XML(AJAX)技术。这个版本是1.6.2,它提供了丰富的功能来增强用户体验,通过后台数据交换和页面部分刷新...
**Ajax 2级联动原理与实现** Ajax(Asynchronous JavaScript and XML)技术允许在不刷新整个页面的情况下,从服务器获取并更新网页的部分内容。在2级联动中,通常指的是两个下拉列表,其中第二个列表的选择项依赖于...
2. **JavaScript与DOM操作**:作者深入探讨了JavaScript语言的核心概念和DOM模型,解释了如何使用JavaScript选择和操作DOM元素,以及如何监听和处理用户事件,为实现Ajax功能打下坚实的基础。 3. **Ajax与服务器端...
Telerik RadControls for ASP.NET AJAX Q2 2010 SP1 Part2(2010年8月10日的版本)
Ajax2_使用Ajax发送异步请求.ppt
Telerik RadControls for ASP.NET AJAX Q2 2010 SP1 Part1(2010年8月10日的版本)
Telerik RadControls for ASP.NET AJAX Q2 2009 Beta part2 (2009年6月16日的版本)
文件"ajax2.swf"可能是一个包含教程动画或互动示例的Flash文件,旨在辅助讲解Ajax技术,帮助学习者更好地理解和应用所学知识。在观看视频的同时,结合这个文件进行实践操作,将有助于巩固理论知识。
CAJ软件的插件,是CAJViewer 安装程序的一个注册模块
在项目中的`ajax3`和`ajax2`可能包含实现Ajax功能的相关JavaScript代码,比如使用`$.ajax()`或`$.getJSON()`等jQuery方法发送异步请求,以及处理返回数据和更新DOM结构。 **jQuery** jQuery是一个流行的JavaScript...
2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源代码简要分析上一章节效果的代码原理4. AJAX与数据库AJAX可以用来和数据端进行数据的交互联通。5. 使用AJAX制作留言本使用已有的AJAX教程,制作一个...
Struts2与Ajax 的实现原理,于Servlet+Ajax原理是一致的,都是通过后台的response.getWriter().print("");把数据传输给前台的。 前台Ajax格式如下(需要导入ajax库,比如:jquery-1.11.3.js) 格式: $(function()...
2. **JavaScript和DOM**:深入讲解JavaScript语言,特别是DOM(Document Object Model)操作,这是Ajax动态更新页面内容的关键。读者会学到如何通过JavaScript操作DOM元素,实现动态内容的添加、修改和删除。 3. **...
AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX
Professional Ajax 2nd Edition provides a developer-level tutorial of Ajax techniques, patterns, and use cases. The book begins by exploring the roots of Ajax, covering how the evolution of the web and...
在IT领域,SSH2、Ajax和jQuery是三个关键的技术组件,它们在构建高效、动态的Web应用程序中扮演着重要角色。SSH2(Secure Shell 2)主要用于提供安全的远程登录和网络服务,Ajax(Asynchronous JavaScript and XML)...
Struts2和Ajax是两种在Web开发中广泛使用的技术,它们的结合能够提供更高效、交互性更强的用户界面。Struts2是一个基于MVC(Model-View-Controller)架构的Java Web框架,它简化了应用程序的开发,提高了代码的可...
cajax阅读器CAJViewer(CAJ阅读器) V7.1.2 绿色完整版是在CNKI公司CAJViewer7的基础上去除...*更新CAJAX插件到最新版。
2. **XMLHttpRequest对象**:是Ajax的核心,它允许JavaScript在不刷新整个页面的情况下与服务器进行通信。通过这个对象,我们可以发送HTTP请求并接收响应,实现数据的获取和更新。 3. **DOM(Document Object Model...