DWR学習(一)


Ajaxも長い間聞いていましたが、いつも自分でもう一度Ajaxしなければなりません.Requestメソッドは、ブラウザによっては修正できないメソッドがあり、頭が痛い!現在、会社が作っているシステムにはDWRが含まれています.以前もDWRに触れたことがありますが、よく知っていますが、よく知りません.今、以前自分で書いた小さな例を出して干しています.次の文章から始めて、最初から最後まで勉強します!
 1.まずプロファイル、web.xmlは次のコードを追加します:(これはすべて死んでいます)
     dwr-invoker    org.directwebremoting.servlet.DwrServlet          debug      true        1         dwr-invoker    /dwr/*  2.dwr.xml:
http://www.getahead.ltd.uk/dwr/dwr10.dtd ">

   
                                
3.Demoクラス:
 
package com.demo;

import java.util.ArrayList;
import java.util.List;

public class Demo {
	public String sayHello(String name){
		return "Hello-->>"+name;
	}
	public List mytest(String id,String name){
		System.out.println("mytest:"+id+"||"+name);
		
		List list=new ArrayList();
		
		DVO vo1=new DVO();
		vo1.setId("1");
		vo1.setName("xiaobo");
		list.add(vo1);
		
		DVO vo2=new DVO();
		vo2.setId("2");
		vo2.setName("mll");
		list.add(vo2);
		
		return list;
		
	}
	
	public DVO mytest1(String id,String name){
		System.out.println("mytest1:"+id+"||"+name);
		DVO vo = new DVO();
		vo.setId("3");
		vo.setName("test");
		return vo;
		
	}
	public void mytest2(DVO vo){
		System.out.println("^^^^^^^"+vo.getId()+vo.getName());
	}
}
4.DVO :
 
package com.demo;

public class DVO {
	
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public DVO() {
	}
	
}
5.index.jsp  :
<%@ 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>dwrTest</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">
 
  <!--  DWR JavaScript    -->
 <script type='text/javascript' src='/mydwr/dwr/interface/Demo.js'></script>
   <script type='text/javascript' src='/mydwr/dwr/engine.js'></script>
   <script type='text/javascript' src='/mydwr/dwr/util.js'></script>
   
   <script type="text/javascript">
   function updateName(){
   var text=$("text").value;
   var id=dwr.util.getValue("id");
   var name=dwr.util.getValue("name");
//   Demo.sayHello(text,callBack);//        ,        
   Demo.sayHello(text,function (data){dwr.util.setValue("showHello",data,{escapeHtml:true});});
   
   //    list  ,(javabean:DVO.java data   )
   Demo.mytest("1","xiaob0",function(data){
   for(var i=0;i<data.length;i++){
  $(list1).add(new Option(data[i].id,data[i].id));// list     jsp list2 
  $(list2).add(new Option(data[i].name,data[i].name));// list     jsp list2 
   }
   });
}
function callBack(data){
 dwr.util.setValue("showHello",data,{escapeHtml:false});
}
   </script>
  </head>
  
  <body>
      :
 <br>   _:<input id="text" type="text" value=""/>
 <br>  __id:<input id="id" type="text" value=""/>
 <br>  name:<input id="name" type="text" value=""/>
 <br><input type="button" value="submit" onclick="updateName()"/>
 <br><div id="showHello"></div>
 <br><div id="showVo"></div>
 <select name="list1"></select>
 <select name="list2"></select>
  </body>
</html>