springMVC框架中的ajax验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC框架中的ajax验证相关的知识,希望对你有一定的参考价值。

当然,你在使用springMVC之前需要进行环境的配置,这里就不讲了,直接上代码.

在使用springMVC之前,我在使用ajax验证的时候,需要用到一个解析json的jar包:将数据通过ajax拿到后台servlet,再通过jsonObject对象进行来像前台进行数据的传递.像下面这样:

JSONObject j = new JSONObject();
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

j.put("msg", "该用户名已被注册");
out.write(j.toString());

使用起来还是很方便的.但是在学习到了框架之后,尤其是使用到了springMVC之后,使用起来就更方便了.下面是使用过程,其实和之前的使用是一样的.

 

这是实体类:set/get代码就不贴了

 

1 public class User {
2     private int uid;
3     private String uname;
4     private String password;

jsp代码:注意导入jquery包,在这里我们使用jquery的ajax验证

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP ‘index.jsp‘ starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    
    <script type="text/javascript" src="resource/js/jquery-1.8.2.js"></script>
    <script type="text/javascript">
        $(function(){
        
            $("#password").blur(function(){
                $.ajax({
                    url:"user/ajax",
                    data:{uname:$("#uname").val(),password:$("#password").val()},
                    type:"post",
                    success:function(data){
                        alert(data);
                    }
                });
            });
        });
    </script>
  </head>
  
  <body>
        用户名<input id="uname" type="text" name="uname">
        密码<input id="password" type="password" name="password">
  </body>
</html>

后台代码:这里使用的是springMVC的注解方式,需要在具体的ajax验证方法的上面标注@ResponseBody.return的内容就是你要在前台页面上要处理的数据.



 

package com.mi.controller;



import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

import com.mi.entity.User;
@Controller
@RequestMapping("user")
public class MyController extends MultiActionController{
    @RequestMapping(value="ajax",produces={"text/html;charset=utf-8;"})
    @ResponseBody
    public Object ajax(User user){
        System.out.println(user.getUname());
        System.out.println(user.getPassword());
        System.out.println(user);
        return user.getPassword();
    }
}

大概就是这些,暂时先学了这么一些,做一个小小的总结,之后有新的知识再进行更新.

 

以上是关于springMVC框架中的ajax验证的主要内容,如果未能解决你的问题,请参考以下文章

Spring MVC 3.2 Thymeleaf Ajax 片段

ssm框架整合+Ajax异步验证

SpringMVC框架中如何去掉登录验证码?

AJAX调用完成后的消息提示框

执行AJAX返回HTML片段中的JavaScript脚本

前端Ajax/JS/HTML+后端SpringMVC