锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
<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涓簊pring涓殑bean鍚?br />聽<?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鐨勭壒鏈夋柟娉?br />聽 dwr.util.addOptions("selectlist",data); //
聽 });
}
5,spring涓璼ervice鐨勬柟娉?
聽public Map getDeptList() {
聽聽聽 Map map = new TreeMap();//鎺掑簭錛屼笉鐢℉ashmap
聽聽 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">
聽聽聽聽聽聽聽聽聽聽聽聽聽鎸夐」鐩?br />聽聽聽聽聽聽聽聽聽聽聽聽</option>
聽聽聽聽聽聽聽聽聽聽聽聽<option value="dept">
聽聽聽聽聽聽聽聽聽聽聽聽聽鎸夐儴闂?br />聽聽聽聽聽聽聽聽聽聽聽聽</option>
聽聽聽聽聽聽聽聽聽聽聽</select>
7,榪斿洖涓哄竷灝旂被鍨嬬殑澶勭悊
<script聽 type="text/javascript">
聽聽聽 function showResult(b) {//b涓哄竷灝斿?br />聽聽聽聽聽聽聽 if (b) {
聽聽聽聽聽聽聽聽聽聽聽 alert("宸茬粡鏈夐噸澶嶇殑鐧誨綍鍚嶄簡錛?);
聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽 alert("鐧誨綍鍚嶅皻鏈敞鍐岃繃錛?);
聽聽聽聽聽聽聽 }
聽聽聽 }function checkRepeat(s) {
聽聽聽聽聽聽聽 var o = document.getElementById(s);
聽聽聽聽聽聽聽 if (o) {
聽聽聽聽聽聽聽聽聽聽聽 UserManager.getUser(o.value, showResult);//js涓嶅厑璁擱噸杞?br />聽聽聽聽聽聽聽 }
聽聽聽 }
聽
</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;
}
聽