`
zengbo0710
  • 浏览: 414722 次
社区版块
存档分类
最新评论

DWR 应用实例(二) 新闻发布系统,多种新闻类型之间切换无刷新

阅读更多

step:8  配置 dwr

     (一)、配置 web.xml 文件,添加 DwrServlet

xml 代码
  1. <!--sp-->xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" >  
  3.    <servlet>  
  4.         <servlet-name>dwr-invokerservlet-name>  
  5.         <servlet-class>  
  6.     org.directwebremoting.servlet.DwrServlet   
  7.         servlet-class>  
  8.         <init-param>  
  9.     <param-name>debugparam-name>  
  10.     <param-value>trueparam-value>      
  11.         init-param>  
  12.         <init-param>  
  13.     <param-name>classes param-name>       
  14.         <param-value>java.lang.Objectparam-value>  
  15.         init-param>  
  16.         <load-on-startup>100load-on-startup>      
  17.   servlet>    
  18.   <servlet-mapping>  
  19.     <servlet-name>dwr-invokerservlet-name>  
  20.     <url-pattern>/dwr/*url-pattern>  
  21.   servlet-mapping>  
  22.   <session-config>  
  23.       <session-timeout>30session-timeout>  
  24.   session-config>  
  25.   <welcome-file-list>  
  26.       <welcome-file>index.jspwelcome-file>  
  27.   welcome-file-list>  
  28. web-app>  
  29.   

     (二)、配置 dwr.xml,添加需要能够远程调用的类以及公开客户端调用的类方法:

xml 代码
  1. <!--sp-->xml version="1.0" encoding="UTF-8"?>  
  2. <dwr>  
  3.   <allow>  
  4.   
  5.     <create creator="new" javascript="news" scope="application">  
  6.       <param name="class" value="com.fzfx88.base.service.AjaxNewsSystemService"/>  
  7.       <include method="queryStoreList"/>  
  8.       <include method="retrieveAjaxNew"/>  
  9.     create>  
  10.        
  11.     <convert  converter="bean" match="com.fzfx88.conf.AjaxNew">  
  12.         <param name="include" value="id,newTitle, newAuther, newType, newContent"/>  
  13.     convert>  
  14.   
  15.   allow>  
  16. dwr>  
step9:构建页面  
css 代码
  1. [html]   
  2. [head]   
  3.     [meta http-equiv="Content-Type" content="text/html; charset=gbk" /]   
  4.     [link href="reg/style.css" type="text/css" rel="stylesheet"]  
  5.     <!--js是dwr自动生成,命名要和dwr.xml中<span class="attribut-->javascript=news相符->
  6.     [script type='text/javascript' src='../dwr/interface/news.js'] 
  7.     <!--wr 中的js需引-->
  8.     [script type='text/javascript' src='../dwr/engine.js'] 
  9.     <!--wr 中的js需引-->  
  10.     [script type='text/javascript' src='../dwr/util.js'/]   
  11.     <!--定义js文--> 
  12.     [script type='text/javascript' src='../jsfloder/ajaxNews.js'/]   
  13.     [title]news[/title]   
  14. [/head]   
  15. [body]   
  16. [div id="tabs5"]   
  17. [ul][li id="current"][a href="javaScript:queryNewsList('1');"][span]国内[/span][/a][/li]   
  18. [li][a href="javaScript:queryNewsList('2');"][span]国际[/span][/a][/li]   
  19. [li][a href="javaScript:queryNewsList('3');"][span]时事政治[/span][/a][/li]   
  20. [li][a href="javaScript:queryNewsList('4');"][span]影视娱乐[/span][/a][/li]   
  21. [li][a href="javaScript:queryNewsList('5');"][span]读书频道[/span][/a][/li]   
  22. [li][a href="javaScript:queryNewsList('6');"][span]美容护肤[/span][/a][/li]   
  23. [li][a href="javaScript:queryNewsList('7');"][span]生活琐事[/span][/a][/li]   
  24. [/ul]   
  25. [/div]   
  26. [TABLE  class="toptable grid" width="100%" cellSpacing="0" cellPadding="5" align="center" border="1"]   
  27.   [TBODY id="knew"]   
  28.   [/TBODY]   
  29. [/TABLE]   
  30. [div id="snow" style="width:500px;border:1px solid darkcyan;padding:5px;display:none;"][/div]   
  31. [/body]   
  32. [/html]  

   step10: 构建 js文件

js 代码
  1. function queryNewsList(id){   
  2.     var loadinfo = "正在载入中,请稍等...........";   
  3.     var newType = id;   
  4.     try{   
  5.             //news为dwr.xml文件中定义java类的别名,调用该类的queryStoreList方法,
  6.             //获取新闻信息
  7.             news.queryStoreList(newType,queryNewList);   
  8.             DWRUtil.useLoadingMessage(loadinfo);   
  9.     }catch(e){   
  10.        
  11.     }   
  12. }
  13. //将查询结果返回的list,添加到页面表格中   
  14. function queryNewList(data){   
  15.     document.getElementById( "snow" ).style.display = "none";   
  16.     var cellfuncs = [   
  17.         function(data){   
  18.             var newId = data.id;   
  19.             var ahive = document.createElement(");   
  20.             ahive.setAttribute("alink","fuchsia");   
  21.             var oTextNode = document.createTextNode(data.newTitle);   
  22.             ahive.appendChild(oTextNode);      
  23.             return ahive;   
  24.         },   
  25.         function(data){   
  26.             var newId = data.id;   
  27.             var ahive = document.createElement(");   
  28.             ahive.setAttribute("alink","#FFFFFF");   
  29.             var delButton = document.createElement("img");   
  30.             delButton.setAttribute("src","../images/ico_down.gif");   
  31.             delButton.setAttribute("border","1");              
  32.             ahive.appendChild(delButton);   
  33.             return ahive;   
  34.         }          
  35.     ];   
  36.     DWRUtil.removeAllRows('knew');     
  37.     DWRUtil.addRows('knew', data,cellfuncs,{   
  38.     rowCreator:function(options) {   
  39.         var row = document.createElement("tr");   
  40.         row.setAttribute("id",options.rowData.id);   
  41.         row.setAttribute("height","20");   
  42.         return row;   
  43.     },   
  44.     cellCreator:function(options) {   
  45.         var td = document.createElement("td");   
  46.         td.setAttribute("align","left");   
  47.         return td;   
  48.     }          
  49.     });   
  50. //根据id获得一条新闻的具体信息  
  51. function showContent(id){   
  52.     var news_id = id;   
  53.     var loadinfo = "正在载入中,请稍等...........";   
  54.     try{   
  55.         news.retrieveAjaxNew(news_id,showAnew);   
  56.         DWRUtil.useLoadingMessage(loadinfo);   
  57.     }catch(e){   
  58.        
  59.     }   
  60. //显示信息内容  
  61. function showAnew(data){   
  62.     var pp = document.getElementById("snow");   
  63.     document.getElementById( "snow" ).style.display = "";   
  64.     if (pp.hasChildNodes()) {   
  65.         for (i=0; i
  66.           var currentNode = pp.childNodes[i];   
  67.             pp.removeChild(currentNode);   
  68.         }   
  69.     }   
  70.    var titleText = document.createTextNode(data.newTitle);   
  71.    var context = document.createTextNode(data.newContent);   
  72.    var tspan = document.createElement("p");   
  73.    tspan.setAttribute("style","font-weight:normal;");   
  74.    tspan.appendChild(titleText);   
  75.    var cspan = document.createElement("p");   
  76.    cspan.appendChild(context);   
  77.    var vbr = document.createElement("br");   
  78.    pp.appendChild(tspan);   
  79.    pp.appendChild(vbr);;   
  80.    pp.appendChild(cspan);   
  81. }  

 运行结果如下图所示:

 

news.gif
 描述:  
 文件大小:  6 KB
 看过的:  文件被下载或查看 114 次

news.gif
下载
 

分享到:
评论
2 楼 vito_fh 2007-08-14  
帅哥,给分完整的code,可以么!谢谢先呀 vitofh@gmail.com
1 楼 zlsunnan 2007-06-02  
不知道 有没有 code 可以分享一下  ajaxNews.js 不对啊 根本就不能运行  cbasten@126.com

相关推荐

    DWR 应用实例(一) 新闻发布系统,多种新闻类型之间切换无刷新

    在本实例中,"DWR 应用实例(一) 新闻发布系统,多种新闻类型之间切换无刷新",我们将探讨如何使用DWR构建一个新闻发布系统,这个系统可以在用户选择不同新闻类型时,动态加载对应的内容,而无需重新加载整个页面。...

    dwr经典实例(9个常用实例)

    DWR (Direct Web Remoting) 是一个开源JavaScript库,它允许Web应用程序与服务器端Java对象进行实时交互,实现异步更新页面,无需刷新整个页面。这个压缩包文件"dwrtest"很可能包含了9个经典的DWR实例,这些实例通常...

    dwr实现实时刷新实例

    在这个“dwr实现实时刷新实例”中,我们将深入探讨DWR如何实现无页面跳动的刷新机制,并关注线程管理和数据库更新。 首先,DWR的核心功能是提供异步通信,使得前端可以实时获取服务器端的变化,而无需刷新整个页面...

    dwr应用实例

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来创建富客户端界面,使得用户可以在不...

    dwr、ajax 无刷新技术

    "MyDwr"可能是一个示例项目,展示了如何在实际应用中使用DWR进行无刷新开发。 综上所述,DWR和AJAX的结合为Web开发者提供了强大的工具,以实现无刷新的交互体验。通过学习和应用这些技术,开发者可以创建出更现代、...

    dwr+spring实例

    本实例"DWRSpring实例"是一个使用DWR与Spring框架结合的消息发布系统,包含了基础的CRUD(Create、Read、Update、Delete)操作。通过这个例子,我们可以深入理解DWR和Spring如何协同工作,以及它们在实际开发中的...

    dwr工程实例,基本于myeclipse.

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现JavaScript和服务器端Java对象之间的双向通信。它使得动态、实时的交互成为可能,极大地增强了用户体验。在这个"dwr工程实例"中,我们将探讨如何...

    dwr,dojo框架应用实例

    DWR 是一个开源JavaScript库,允许Web应用程序在客户端和服务器之间进行实时通信,即实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript与Java后端服务的交互,让开发者能够调用服务器上的方法,就像它们是...

    dwr 实例 Dwr实例

    自己写的dwr实例。方便大家学习,包括jar文件,希望对大家有帮助

    dwr实例教程 很好的入门实例

    ### dwr实例教程知识点解析 #### 一、DWR简介及功能特点 DWR(Direct Web Remoting)是一种简化Ajax应用开发的技术框架。它能够使客户端的JavaScript代码直接调用服务器端的Java方法,实现数据的实时交互。与传统...

    dwr框架实现无刷新分页

    DWR(Direct Web Remoting)是一种JavaScript和Java之间的远程调用技术,它允许Web应用在不刷新整个页面的情况下与服务器进行交互,从而实现动态更新和实时反馈的效果。在DWR中,JavaScript对象可以直接调用后台的...

    Spring DWR配置实例

    Spring Direct Web Remoting (DWR) 是一个Java库,它允许Web应用程序轻松地在客户端JavaScript和服务器端Java之间进行交互。这个技术的核心功能是提供了一种机制,使得动态的、实时的Web应用成为可能,无需刷新整个...

    dwr实例dwr实例dwr实例

    dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr实例dwr...

    dwr框架的应用实例

    DWR (Direct Web Remoting) 是一个开源的Java框架,用于在浏览器和服务器之间实现动态、实时的Web应用交互。这个框架允许JavaScript直接调用服务器端的Java方法,就像它们是本地函数一样,极大地简化了AJAX...

    ajax_dwr实现页面无刷新加载

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

    dwr.demo dwr实例

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需刷新整个页面。这个"**dwr.demo dwr实例**"很可能是用来展示如何在实际项目中集成和使用DWR的...

    ajax的dwr框架实例

    这些操作在客户端完成,无需刷新整个页面,从而实现了Ajax的无刷新特性,提高了用户交互的流畅性。 在实际应用中,我们可能还需要考虑安全性问题,比如防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。DWR提供了...

    web编程异步刷新dwr技术jar包

    DWR (Direct Web Remoting) 是一种用于Java Web应用程序的开源框架,它允许在客户端JavaScript和服务器端Java之间进行实时的、异步的数据交换。DWR使得开发者可以轻松地利用AJAX(Asynchronous JavaScript and XML)...

    ajax框架dwr程序实例源码

    6. **实例应用**:这个实例可能是一个简单的Web应用,如用户输入验证、数据检索或更新等,以演示DWR的功能。通过查看源码,我们可以理解DWR如何与HTML页面、CSS样式和JavaScript脚本协作,以实现实时的前端更新。 7...

Global site tag (gtag.js) - Google Analytics