jquery和struts的用户注册 用户名验证

balabala_sean 2013-02-28 04:03:25

<script type="text/javascript">

function check(){
var username = $("#username").val();
$("#result").text("正在检测用户名是否可用");
var url="Login/login_validate.action";
$.post(url,{name:username},function(data){
$("#result").text(data);
$("#result").css("color","red");
},"text");
}
</script>
</head>

<body>
<form action="Login/login_input.action" method="post">
Username:<input type="text" id="username" name="user.username"/>
<input type="button" value="Check!" onclick="check();">
<div id="result"></div>
Password:<input type="password" id="password" name="user.password"/><br/>
<input type="submit" value="Submit"/>
</form>
</body>
</html>




public class UserLoginAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;

private User user;

public void validateUsername(){
String name = ServletActionContext.getRequest().getParameter("name");
this.getUser().setUsername(name);
PrintWriter pw = null;
try {
pw = ServletActionContext.getResponse().getWriter();
if(user.getUsername().equals("111")){
pw.write("已存在");
}else if(user.getUsername().equals("123")){
pw.write("可以使用");
}else{
pw.write("不可以使用");
}
} catch (IOException e) {
e.printStackTrace();
} finally{
pw.flush();
pw.close();
}
}
...全文
166 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
adadadadadadadc 2013-03-23
  • 打赏
  • 举报
回复

public class UserLoginAction extends ActionSupport{
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
     
    private User user;
    private String result;

    //get/set方法
     
    public void validateUsername(){
        String name = ServletActionContext.getRequest().getParameter("name");
        this.getUser().setUsername(name);
        PrintWriter pw = null;
        try {
            pw = ServletActionContext.getResponse().getWriter();
            if(user.getUsername().equals("111")){
               // pw.write("已存在");
               result = "已存在";
            }else if(user.getUsername().equals("123")){
                pw.write("可以使用");
               result = "可以使用";
            }else{
                pw.write("不可以使用");
                result = "不可以使用";
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally{
            pw.flush();
            pw.close();
        }
    }

    <script type="text/javascript">
     
         function check(){
            var username = $("#username").val();
            $("#result").text("正在检测用户名是否可用");
            var url="Login/login_validate.action";
            $.post(url,{name:username},function(data){
                    $("#result").text(data.result);
                    $("#result").css("color","red");
            },"json");
        }
    </script>
  </head>
   
  <body>
    <form action="Login/login_input.action" method="post">
        Username:<input type="text" id="username" name="user.username"/>
                 <input type="button" value="Check!" onclick="check();">
                 <div id="result"></div>
        Password:<input type="password" id="password" name="user.password"/><br/>
        <input type="submit" value="Submit"/>
    </form>
  </body>
</html>
这样应该可以了吧
终结i络 2013-03-04
  • 打赏
  • 举报
回复
var url="Login/login_validate.action"; 你把这语句换成 var url="/Login/login_validate.action"; <script type="text/javascript"> function check(){ var username = $("#username").val(); $("#result").text("正在检测用户名是否可用"); var url="Login/login_validate.action"; $.post(url,{name:username},function(data){ $("#result").text(data); $("#result").css("color","red"); },"text"); } </script> </head> <body> <form action="Login/login_input.action" method="post"> Username:<input type="text" id="username" name="user.username"/> <input type="button" value="Check!" onclick="check();"> <div id="result"></div> Password:<input type="password" id="password" name="user.password"/><br/> <input type="submit" value="Submit"/> </form> 这里写上你的代码,之后你再试试 </body> </html>
一叶子一 2013-03-04
  • 打赏
  • 举报
回复
你的action实现ServletRequestAware, ServletResponseAware两个接口后,分别得到request和response后,然后再试试看
balabala_sean 2013-03-04
  • 打赏
  • 举报
回复
我用$.post(url,,success:fn(),data,"text")怎么取不到呢?
balabala_sean 2013-03-04
  • 打赏
  • 举报
回复
引用 3 楼 AA5279AA 的回复:
那里没结果? 是后台还是前台没收到?
后台有收到数据,传到前台 html的头信息响应之中有数据,但是jquery怎么取得数据??
sgyyz 2013-02-28
  • 打赏
  • 举报
回复
指出一点哈,标准的JSON格式,一定要用"key": value
微风飘过 2013-02-28
  • 打赏
  • 举报
回复
使用struts2就不需要String name = ServletActionContext.getRequest().getParameter("name");这样写了,这里有有两种写法,具体的你可以看看struts2文档,我一时记不起了
  • 打赏
  • 举报
回复
用struts了还用这样写啊 去掉 String name = ServletActionContext.getRequest().getParameter("name"); this.getUser().setUsername(name); 改为User user;提供get set方法, 就行了
失落夏天 2013-02-28
  • 打赏
  • 举报
回复
那里没结果? 是后台还是前台没收到?
a_b_a_b_a_b_a_b 2013-02-28
  • 打赏
  • 举报
回复
如果你的URL没有 写错的话,就看返回的data是什么了;试试将返回数据类型改为html试一下;
balabala_sean 2013-02-28
  • 打赏
  • 举报
回复
这样写怎么没结果呢?

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧