论坛首页 Web前端技术论坛

Ajax之dwr

浏览 1570 次
锁定老帖子 主题:Ajax之dwr
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-06-04  
dwr实现动态用户输入信息,如在注册论坛时,输完用户名后转到输入密码时,用户后会显示用户名是否可用,而这个过程用户感觉不到页面的刷新,可继续往下操作,是由ajax在后到完成验证。
一:导入dwr.jar
二:配置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.xml
<?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>
  <!-- Demo是映射在javascript中的类名,new表示新建一个 -->
  <create javascript="Demo" creator="new">
   <param name="class" value="gjs.dwr.Demo"/>
  </create>
</allow>
</dwr>
四、在页面中导入js
<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/Demo.js"></script>
五、java类
public class Demo {
public String checkName(String n){
  String name="gjs";
  System.out.println("loginForm.checkName"+n);
  if(name.equals(n)){
   return "this name is used,please try another one.";
  }else{
   return "this name can use.";
  }
}
}
六、页面中编写javascript函数。
  function checkName(){
      var name=dwr.util.getValue("name");  
   Demo.checkName(name,function(data) {
     dwr.util.setValue("sname", data);
      });
  }
Demo.checkName(A,B),A为传入参数,B为回调函数。
下面这样调用:
  <html:form action="/loging">
    Name:<input type="text" id="name" onblur="checkName();"><span id="sname" style="background-color:gray"></span><br>
    Psw:<input type="text" id="psw"><span id="spsw" style="background-color: blue"></span><br>
   <html:button property="button"></html:button>
  </html:form>
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics