瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
           

          Dwr的介紹請(qǐng)見:http://www.aygfsteel.com/freeman1984/archive/2007/11/25/163010.html

          本例將實(shí)現(xiàn)一個(gè)利用dwr實(shí)現(xiàn)的級(jí)聯(lián)菜單處理:

          首先建立兩個(gè)實(shí)體類:Org(機(jī)構(gòu))Person(機(jī)構(gòu)下的人員)

          代碼如下:

          Org.java

          package com.dwr;

          publicclass Org {

              privateintid;

              private String name;

             

              publicint getId() {

                 returnid;

              }

              publicvoid setId(int id) {

                 this.id = id;

              }

              public String getName() {

                 returnname;

              }

              publicvoid setName(String name) {

                 this.name = name;

              }

          }

          Person.java

          package com.dwr;

          publicclass Person {

              privateintid;

              private String name;

             

              publicint getId() {

                 returnid;

              }

              publicvoid setId(int id) {

                 this.id = id;

              }

              public String getName() {

                 returnname;

              }

              publicvoid setName(String name) {

                 this.name = name;

              }

          }

          創(chuàng)建管理類:PersonManager用于初始化數(shù)據(jù)和返回?cái)?shù)據(jù)

          package com.dwr;

          import java.util.ArrayList;

          import java.util.Collection;

          import java.util.HashMap;

          import java.util.List;

          import java.util.Map;

          public class PersonManager {

             

              private static Map orgs = new HashMap();

              private static Map persons = new HashMap();

              //初始化數(shù)據(jù)

              static{

                 for(int i=0; i<10; i++){

                     Org org = new Org();

                     org.setId(i);

                     org.setName("機(jī)構(gòu)"+i);

                     orgs.put(org.getId(), org);

                    

                     List personsList = new ArrayList();

                     for(int j=0; j < 20; j++){

                        Person person = new Person();

                        person.setId(j);

                        person.setName("org["+org.getName()+"]下的人員[人員"+j+"]");

                        personsList.add(person);

                     }

                     persons.put(org.getId(), personsList);

                 }

              }

              //返回所有機(jī)構(gòu)

              public Collection searchAllOrg(){

                 return orgs.values();

              }

              //返回某機(jī)構(gòu)所有人員

              public List searchPersons(int orgId){

                 return (List)persons.get(orgId);

              }

          }

          配置文件:

          Web.xml中加入以下代碼:

          <servlet>

              <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>

          添加dwr.xmlweb.xml同一個(gè)目錄

          <?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="new" javascript="personManager">

                <param name="class" value="com.dwr.PersonManager"/>

              </create>

              <convert converter="bean" match="com.dwr.Org"/>

              <convert converter="bean" match="com.dwr.Person"/>

           </allow>

          </dwr>

          測(cè)試頁(yè)面:

          <%@ page language="java" contentType="text/html; charset=GB18030"

              pageEncoding="GB18030"%>

          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

          <html>

          <head>

          <meta http-equiv="Content-Type" content="text/html; charset=GB18030">

          <script type="text/javascript" src="dwr/engine.js"></script>

          <script type="text/javascript" src="dwr/util.js"></script>

          <script type="text/javascript" src="dwr/interface/personManager.js"></script>

          <title>Insert title here</title>

          <script type="text/javascript">

          function init(){

              personManager.searchAllOrg(

                 function(data){

                     //dataOrg對(duì)象的集合,id,name

                     dwr.util.removeAllOptions("o");

                     dwr.util.addOptions("o",data,"id","name");

                     searchPersons();

                 }

              );

          }

          function searchPersons(){

              personManager.searchPersons(

                 $("o").value,

                 function(data){

                     dwr.util.removeAllOptions("p");

                     dwr.util.addOptions("p",data,"id","name");

                 }

              );

          }

          </script>

          </head>

          <body onload="init()">

          請(qǐng)選擇機(jī)構(gòu)信息:<select id="o" onchange="searchPersons()">

          </select>

          請(qǐng)選擇人員信息:<select id="p">

          </select>

          </body>

          </html>


          評(píng)論

          # re: dwr實(shí)現(xiàn)級(jí)聯(lián)菜單  回復(fù)  更多評(píng)論   

          2013-05-31 09:37 by 沈震
          想問(wèn)下,我的dwr+ssh級(jí)聯(lián)能出來(lái)一級(jí)的,二級(jí)的出不來(lái),callback不能使用,一直報(bào)錯(cuò)error
          我寫的級(jí)聯(lián)是 院系, 專業(yè)二級(jí)級(jí)聯(lián)!,求指導(dǎo)!!

          # re: dwr實(shí)現(xiàn)級(jí)聯(lián)菜單  回復(fù)  更多評(píng)論   

          2013-05-31 09:38 by 沈震
          我的郵箱1692894352@qq.com

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 吴川市| 清河县| 宝兴县| 邯郸市| 育儿| 依安县| 宁陕县| 宜兰市| 辰溪县| 乃东县| 阜新| 昌黎县| 灵寿县| 银川市| 陕西省| 永善县| 定陶县| 望江县| 高雄市| 洛扎县| 安化县| 长泰县| 同心县| 延津县| 杭锦后旗| 洛浦县| 津市市| 克什克腾旗| 宜丰县| 定边县| 临汾市| 广元市| 建湖县| 辰溪县| 清涧县| 涿鹿县| 绥芬河市| 儋州市| 百色市| 河西区| 大同县|