MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          初次使用spring+dwr的記錄

          Posted on 2007-11-12 22:32 leekiang 閱讀(952) 評論(0)  編輯  收藏 所屬分類: dwr

          1,在jsp引入以下js,其中custService是自己命的名
          <script type='text/javascript' src='<%=request.getContextPath() %>/dwr/engine.js'> </script>
          ??? <script type='text/javascript' src='<%=request.getContextPath() %>/dwr/util.js'> </script>
          ??? <script type='text/javascript' src='<%=request.getContextPath() %>/dwr/interface/custService.js'> </script>
          ???
          2,在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>
          ??? <init-param>
          ????? <param-name>activeReverseAjaxEnabled</param-name>
          ????? <param-value>true</param-value>
          ??? </init-param>
          ??? <init-param>
          ????? <param-name>initApplicationScopeCreatorsAtStartup</param-name>
          ????? <param-value>true</param-value>
          ??? </init-param>
          ??? <init-param>
          ????? <param-name>maxWaitAfterWrite</param-name>
          ????? <param-value>100</param-value>
          ??? </init-param>
          ??? <!--
          ??? <init-param>
          ????? <param-name>org.directwebremoting.extend.ServerLoadMonitor</param-name>
          ????? <param-value>org.directwebremoting.impl.PollingServerLoadMonitor</param-value>
          ??? </init-param>
          ??? -->
          ??? <load-on-startup>1</load-on-startup>
          ? </servlet>

          ? <servlet-mapping>
          ??? <servlet-name>dwr-invoker</servlet-name>
          ??? <url-pattern>/dwr/*</url-pattern>
          ? </servlet-mapping>
          ?
          ?3,dwr.xml,放在web-info下,其中 custService為spring中的bean名
          ?<?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "<dwr>
          ?<allow>
          ??<create creator="spring" javascript="custService">
          ???<param name="beanName" value="custService" />
          ??</create>
          ?</allow>
          </dwr>

          4,
          function refreshSelect(){
          var type =$("seltype").value;
          if('dept'==type){
          getDeptList();
          }
          else if('xm'==type){
          getXmList();
          }
          }

          function getDeptList() {
          ? custService.getDeptList(function(data) {
          ? var deptlist =document.getElementById("selectlist");
          dwr.util.removeAllOptions("selectlist");
          ? dwr.util.addOptions("selectlist",data);
          ? });
          }

          function getXmList() {
          ? custService.getXmList(function(data) {
          ? var deptlist =document.getElementById("selectlist");
          dwr.util.removeAllOptions("selectlist"); //dwrutil的特有方法
          ? dwr.util.addOptions("selectlist",data); //
          ? });
          }

          5,spring中service的方法:
          ?public Map getDeptList() {
          ??? Map map = new TreeMap();//排序,不用Hashmap
          ?? map.put("", "選擇一個部門");
          ??List l = this.typeService
          ????.getList("from Dept a where a.enabled = '0' order by a.ordernum");
          ??for (Iterator iterator = l.iterator(); iterator.hasNext();) {
          ???Dept?d = (Dept) iterator.next();
          ???map.put(d.getDeptid(), d.getDeptname());
          ??}
          ??return map;
          ?}
          ?
          6,
          <select name="" id="seltype" onchange="refreshSelect();">
          ????????????<option value="">
          ?????????????--選擇方式--
          ????????????</option>
          ????????????<option value="xm">
          ?????????????按項目
          ????????????</option>
          ????????????<option value="dept">
          ?????????????按部門
          ????????????</option>
          ???????????</select>
          7,返回為布爾類型的處理
          <script? type="text/javascript">
          ??? function showResult(b) {//b為布爾值
          ??????? if (b) {
          ??????????? alert("已經有重復的登錄名了!");
          ??????? } else {
          ??????????? alert("登錄名尚未注冊過!");
          ??????? }
          ??? }function checkRepeat(s) {
          ??????? var o = document.getElementById(s);
          ??????? if (o) {
          ??????????? UserManager.getUser(o.value, showResult);//js不允許重載
          ??????? }
          ??? }
          ?
          </script>

          <input type="text" name="user" id="user">
          <input type="button" onclick="checkRepeat('user')" value="檢查是否重復">


          public boolean getUser(String username)
          {
          ??? String sql="select count(*) from user where userName=? ";
          ?int i=getJdbcTemplate().queryForInt(sql,new Object[]{username});
          ??? if(i>0)
          ??? return true;
          ??????? else
          ???? return false;
          }


          ?


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西青区| 岳西县| 通海县| 泽库县| 白城市| 福鼎市| 汤原县| 贵州省| 萍乡市| 大田县| 刚察县| 广宗县| 鄱阳县| 桃源县| 临泽县| 久治县| 元氏县| 额尔古纳市| 潼南县| 玛纳斯县| 香港 | 肃南| 得荣县| 拜城县| 兴安盟| 郧西县| 咸宁市| 乌鲁木齐县| 柳林县| 武城县| 定结县| 始兴县| 松潘县| 嘉祥县| 常熟市| 孙吴县| 永兴县| 元江| 阿拉善右旗| 定襄县| 平度市|