1.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>
<create javascript="JUserChecker" creator="new">
<param name="class" value="com.aptech.jb.biz.UserManager"></param>
<include method="checkLogin" />
</create>
</allow>
</dwr>
2.UserManager.java:
package com.aptech.jb.biz;import com.aptech.jb.hibernate.dao.UserDao;public class UserManager {
public boolean checkLogin(String uname) {
boolean result = false;
result = new UserDao().getUserByName(uname);
return result;
}
}3.index.jsp:<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!-- 这部分代码必可少 -->
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<!-- 这部分代码必可少 -->
<base href="<%=basePath%>">
<title>首页</title>
<script src='dwr/interface/JUserChecker.js'></script>
<script src='dwr/engine.js'></script>
<script src='dwr/util.js'></script>
<script language="javascript">
function doLog(param)
{
JUserChecker.checkLogin(param.value,huiDiao);
}
function huiDiao(result)
{
if(result)
{
alert('用户名已经存在');
}else
{
alert('用户可以使用');
}
}

</script>
</head>
<body>
<form name="loginForm" method="post" action="">
用户名:
<input type="text" name="uname" onBlur="doLog(this)">
<br>
<br>
密码:&nbsp;&nbsp;
<input type="password" name="upass">
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="login" value="登录">
&nbsp;
<input type="button" name="cancel" value="取消">
<br>
</form>
</body>
</html>4.我想要的效果是,当鼠标离开用户名文本框后,显示用户名是否可用?
可是总弹出error对话框.

解决方案 »

  1.   

    你先直接访问你那个JUserChecker.js  然后输入一个值 看能否返回Boolean
      

  2.   

        public boolean checkLogin(String uname) {
            boolean result = false;
            result = new UserDao().getUserByName(uname);
            return result;
        }在里面打个段点
      

  3.   

    先看看你的dwr是否配置成功
    http://localhost:8080/[YOUR-WEBAPP]/dwr/看看你的代码应该没啥问题。
      

  4.   

    在dwr配置文件中加入下面两句代码,可以让你错误提示信息不再显示Error,而是对你有用一点的异常信息。
    <convert match="java.lang.Exception" converter="exception">
    <convert match="java.lang.StackTraceElement" converter="bean">
      

  5.   

    你肯定是用到SPRING了。
    那你要去看DWR跟SRPING集成怎么去配置DWR.XML了。
    给你个思路 CREATE="SPRING"
      

  6.   

    DWR整合SSH,可以参考下。
    http://blog.csdn.net/liuyuhua0066/article/details/6457568
      

  7.   

    result = new UserDao().getUserByName(uname);
    这行代码有异常吧,你捕获一下咯.
    一般后台出错,前台就会弹出error对话框,dwr就是这样的,
    如果struts的后台出错了,前台页面就会出现一大堆异常信息,
    相比之下,还是dwr的处理错误机制人性化一点....
      

  8.   

    import com.aptech.jb.hibernate.dao.UserDao;
    这个好熟悉啊,记不起来是哪个地方的了
      

  9.   

    这个其实蛮伤脑筋的 ,以前我做的时候 各种方法都试过了 原来是因为jar包冲突解决了 ~~
      

  10.   

    第一检查dwr.xml配置是否正确,第二检查在web.xml中是否配置,第三检查dwr操作的方法参数是否一致.