日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

DWR的使用以及DWR中工具JS文件的使用

發布時間:2023/12/20 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DWR的使用以及DWR中工具JS文件的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DWR介紹:

DWR本身是一個AJAX框架。

作用:

允許開發人員在客戶端通過JavaScript代碼調用服務器端的Java方法。

可以使用DWR中的util.js文件中包含了一些工具函數,通過這些函數的幫助,將簡化JavaScript操作。

DWR框架主要由兩部分組成: 1.客戶端JavaScript代碼直接調用服務器端Java方法. 2.服務器上運行的DWR核心Servlet負責處理客戶端請求,將客戶端請求委托到實際的Java對象進行處理,并將結果返回給客戶端.
DWR的使用步驟: ? ?1. 添加 dwr.jar 包到項目中
? ?2. 在 web.xml 中配置 DwrServlet
? ?3. 與 web.xml 同級目錄下創建 dwr.xml 配置文件
? ?4. 在頁面中引用 JS 文件 ,實現與服務器交互(?DWR 框架中如果返回的是自定義類型,則需要作類型轉換
? ? <convert match="返回類的完整路徑" converter="bean"></convert>)

DWR使用
好了,下面對于DWR的使用來具體說明一下: 1.下載DWR框架: DWR的官方站點: http://directwebremoting.org/dwr/downloads/index.html 各下載項說明: JAR File:該選項僅下載dwr.jar文件 WAR File:該選項下載dwr.jar文件及其其他依賴的類庫,還包括DWR的使用范例 Sources:該選項下載DWR的源文件
2.添加dwr.jar包到項目中: 將dwr.jar包放入到WEB-INF的lib文件夾下,并且這里也要把commons-logging.jar包夜放到其中,因為dwr依賴于commons-logging.jar這個包。 3.在 web.xml 中配置 DwrServlet: 修改web.xml文件,添加如下代碼: <strong><servlet-name>dwr_invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet </servlet-class><init-param><param-name>debug</param-name><param-value>true</param-value></init-param> </servlet> <servlet-mapping><servlet-name>dwr_invoker</servlet-name><url-pattern>/dwr/*</url-pattern> </servlet-mapping></strong>

?3. 與 web.xml 同級目錄下創建 dwr.xml 配置文件:

創建dwr.xml文件: web.xml文件位于同一目錄 該文件用于定義Java類和JavaScript之間的對應關系,將Java類的方法暴露給客戶端 其結構如下: <span style="font-size:10px;"><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN""http://getahead.org/dwr/dwr20.dtd"> <dwr><allow><create creator="..." javascript="..." scope="..."><param name="..." value="..."/><include method="…"/><exclude method="…"/></create><convert converter="..." match="..."/></allow> </dwr></span> eg: <dwr><allow><create creator="new" javascript="jDate"><param name="class" value="java.util.Date"></param><include method="toLocaleString"/></create><create creator="new" javascript="jMybean"><param name="class" value="com.huaxin.test.TestMyBean"></param></create><convert match="com.huaxin.bean.MyBean" converter="bean"></convert></allow></dwr>

?<allow>元素:定義了DWR能夠創建和轉換的類,是dwr.xml中最重要的元素 ?<create>元素:創建器定義如何將一個Java類轉換成JavaScript對象 ?<convert>元素:類型轉換器,用于定義Java類型和JavaScript類型之間的對應關系
<create>元素的屬性: creator屬性:DWR內置多個創建器用于處理多種類型Java javascript屬性:在客戶端給創建的JavaScript對象命名。該名字將在頁面里作為js被導入 <create>元素的子元素: <param>元素:用來指定創建器的參數。其中name屬性用來指定參數名稱,value指定參數的值 <include>元素:定義允許訪問的方法列表 <exclude>元素:定義不允許訪問的方法列表,其中method屬性指定不被暴露給客戶端的方法
還有,creator和javascript是必須屬性,其他可以忽略。creator包含有以下幾個值:
  new:Java用“new”關鍵字創造對象
  none:它不創建對象 ?(v1.1+)
  scripted:通過BSF使用腳本語言創建對象,例如BeanShell或Groovy
  spring:通過Spring框架訪問Bean
  struts:使用Struts的FormBean ?(v1.1+)
  jsf:使用JSF的Bean ?(v1.1+)
  pageflow:訪問Weblogic或Beehive的PageFlow ?(v1.1+)
  ejb3:使用EJB3 session bean ?(v2.0+)

<convert>元素: ?DWR默認支持的類型有:所有基本類型,booleanintdouble等等包裝類,BooleanInteger等等java.lang.String日期類型,如:java.util.Datejava.sql.Timesjava.sql.Timestamp數組(存放以上類型的)集合類型 (ListSetMapIterator等等)
?Bean轉換器 用于完成JavaBean對象和JavaScript對象之間的轉換 DWR默認關閉Bean轉換器 如果需要進行JavaBean對象和JavaScript對象之間的轉換,需要在dwr.xml中顯式設置
?4. 在頁面中引用 JS 文件 ,實現與服務器交互:
可以通過這種方式獲得頁面中所需要的JS文件: 因為在上面的web.xml中有這段配置: <init-param>
? ? ? ? <param-name>debug</param-name>
? ? ? ? <param-value>true</param-value>
? ? </init-param>
所以可以進入debug頁面進行調試:



圖片中圈出的就是:在你的JavaScript使用這個類所需要的腳本。 將這段腳本copy到頁面文件中即可。然后就可以編寫具體的javascript代碼了。




最后介紹一下,DWR中工具類中的兩個重要的函數的使用:
util.js文件中包含了一些工具函數,通過這些函數的幫助,將簡化JavaScript操作 util.js提供一些基本的頁面操作函數,通過這些函數可以方便的操作HTML元素 util.js文件與DWR框架關系不是特別大,可以在任何不同的網頁中使用(即便該工程沒有DWR支持)
列表操作函數: –dwr.util.removeAllOptions(id):用于刪除列表中的所有項dwr.util.addOptions():用于添加列表項 表格操作函數: DWR提供兩個函數幫助我們操作表格: -dwr.util.removeAllRows(id):刪除table中所有行 -dwr.util.addRows(id,array,cellFuncs,[options]):向表中添加數據行
使用方法:

1.首先,要在頁面文件中放入圖片中圈出來的腳本才能使用DWR的JS文件中的一些工具方法。 2.在頁面文件中的js標簽中使用具體的函數方法 eg: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"><title>My JSP 'test.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!--<link rel="stylesheet" type="text/css" href="styles.css">--> <script type='text/javascript' src='/DWRstudy/dwr/util.js'></script><script type="text/javascript">function showCity(){var array = [{name:'山東',value:'魯'},{name:'湖南',value:'湘'},{name:'北京',value:'京'}];dwr.util.removeAllOptions("s1");dwr.util.addOptions("s1",array,"name","value");} </script></head> <body>城市:<select id="s1"></select><input type="button" value="顯示城市列表" οnclick="showCity()"> </body> </html>
效果演示:























總結

以上是生活随笔為你收集整理的DWR的使用以及DWR中工具JS文件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。