浏览 2303 次
锁定老帖子 主题:AJAX2
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-20
下面就举个例子简单的介绍一下这个类的用法。 例如我现在需要实现一个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用很不错!当然这个远程调用的方法(应该可以这样叫吧)里面没有参数,但可以有参数。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |