DWR学习 JQuery感受

来源:互联网 发布:期货套利软件 编辑:程序博客网 时间:2024/06/08 09:04


dwr dojo core jar包的导入流程:










如果dwr版本过低,可下载dwr 3.0jar包手动导入流程:






jQuery 开源

$(ID).innerText()/ .value 根据指定ID查找页面中的HTML元素  等价于:document.getElementById(ID).value

DWR 2.0:(框架)

---JavaScript

---核心Servlet


1、导包:dwr.jar包

2、在web.xml文件中配置核心Servlet

3、创建dwr.xml文件

4、使用


getValue(ID) 函数和setValue(ID,value[,options])  用于简化访问和修改HTML元素的值。


dwr.util.removeAllOption(ID) :用于删除列表中的所有项

dwr.util.addOptions() :用于添加列表项



以下是具体代码演示:

WEB-INF

web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  <display-name></display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>  <filter>  <filter-name>struts2</filter-name>  <filter-class>  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter  </filter-class>  </filter>  <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping>      <!-- DWR -->  <servlet>  <servlet-name>dwr</servlet-name>  <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>  </servlet>  <servlet-mapping>  <servlet-name>dwr</servlet-name>  <url-pattern>/dwr/*</url-pattern>  </servlet-mapping>  </web-app>


com.zuxia.yc42.dwr

public class UserInfo :

package com.zuxia.yc42.dwr;public class UserInfo {private Integer usId;private String usName;private String usSex;public Integer getUsId() {return usId;}public void setUsId(Integer usId) {this.usId = usId;}public String getUsName() {return usName;}public void setUsName(String usName) {this.usName = usName;}public String getUsSex() {return usSex;}public void setUsSex(String usSex) {this.usSex = usSex;}}



com.zuxia.yc42.dwr

public class Test

package com.zuxia.yc42.dwr;import java.util.ArrayList;import java.util.List;public class Test {public long getTime(String s){System.out.println(s);return System.currentTimeMillis();}public List<UserInfo> getUserInfo(){List<UserInfo> users = new ArrayList<UserInfo>();UserInfo us1 = new UserInfo();us1.setUsId(1);us1.setUsName("小明");us1.setUsSex("18");UserInfo us2 = new UserInfo();us2.setUsId(12);us2.setUsName("小强");us2.setUsSex("20");users.add(us1);users.add(us2);return users;}}


struts.xml:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts></struts>    


WEB-INF

dwr.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"><dwr><allow ><create javascript="MyTest" creator="new"><param name="class" value="com.zuxia.yc42.dwr.Test"></param><!-- 允许访问的方法,若要指定多个方法,","隔开即可  --><include method="getUserInfo"/><!-- 不允许访问的方法  --><exclude method="getTime"/></create><!-- 放开禁止bean对自定义类型的匹配 --><convert converter="bean"  match="com.zuxia.yc42.dwr.UserInfo"><!-- 禁止访问指定po类里的指定成员属性,若要指定多个成员属性,","隔开即可  --><!--<param name="exclude" value="usId"></param>--></convert></allow></dwr>


index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%@ taglib uri="/struts-tags" prefix="s" %><%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 'index.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">--><!-- 导入dwr的engine.js和util.js --><script type="text/javascript" src="<%=path%>/dwr/engine.js"></script><script type="text/javascript" src="<%=path%>/dwr/util.js"></script><!-- 导入自定义的dwr js --><script type="text/javascript" src="<%=path%>/dwr/interface/MyTest.js"></script><script type="text/javascript">var cellFuctions = [function(item){return item.usId;},function(item){return "<a href='#'>"+item.usName+"</a>";},function(item){return "<a href='#'>"+item.usSex+"</a>";}];function _onCk(){//通过MyTest.js的名字MyTest调用对应配置java类中的相应方法,有参传参,最后参数指定为回调函数的方法名:_onBk//MyTest.getTime('小强',_onBk);MyTest.getUserInfo(_onBk);//alert($(ll).innerText);//alert("document:"+document.getElementById("ll").innerText);////DWRUtil.setValue(id,value...):修改HTML元素的值//DWRUtil.setValue("mm","小明小明");////DWRUtil.removeAllOptions(ID) :删除列表中的所有项//DWRUtil.removeAllOptions("us");////DWRUtil.addOptions() :用于添加列表项//DWRUtil.addOptions("us",{0:'日本',1:'俄罗斯'});}//把结果数据alert出来function _onBk(date){//alert(date);//for(var i=0;i<date.length;i++)//{//alert(date[i].usId+"\t"+date[i].usName+"\t"+date[i].usSex);//}//alert($(mm).value);//DWRUtil.removeAllOptions(ID) :删除列表中的所有项DWRUtil.removeAllRows("tBody");DWRUtil.addRows("tBody",date,cellFuctions);}</script>  </head>    <body>    <input type="button" value="测试" onclick="_onCk()">    <input type="text" id="mm" value="小明">    <label id="ll">小小明</label>       <hr/>      <s:select list="#{0:'中国',1:'老美'}" id="us" name="usSelect"></s:select>      <hr/>      <table>   <tbody id="tBody">   <tr>   <td>1</td>   <td>小强</td>   </tr>   </tbody>   </table>     </body></html>


原创粉丝点击