reg.jsp
<%@ 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>
<script src="static/js/jquery-1.10.1.js"></script>
<script src="static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet" />
<!--验证插件可以到官网上下载-->
<script src="static/bootstrapvalidator/dist/js/bootstrapValidator.min.js"></script>
<link href="static/bootstrapvalidator/dist/css/bootstrapValidator.min.css" rel="stylesheet" />
<script type="text/javascript">
$(function(){/* 文档加载,执行一个函数*/
$('#defaultForm')
.bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {/*input状态样式图片*/
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {/*验证:规则*/
username: {//验证input项:验证规则
message: 'The username is not valid',
validators: {
notEmpty: {//非空验证:提示消息
message: '用户名不能为空'
},
stringLength: {
min: 3,
max: 6,
message: '用户名必须是3--6位'
},
threshold : 3, //有6字符以上才发送ajax请求,(input中输入一个字符,插件会向服务器发送一次,设置限制,6字符以上才开始)
remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}
url: 'user/exist.do',//验证地址
message: '用户已存在',//提示消息
delay : 2000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
type: 'POST',//请求方式
/**自定义提交数据,默认值提交当前input value
* data: function(validator) {
return {
password: $('[name="passwordNameAttributeInYourForm"]').val(),
whatever: $('[name="whateverNameAttributeInYourForm"]').val()
};
}
*/
data: function(validator) {
return {
username: $("[name='username']").val()
};
}
},
}
},
password: {
message:'密码无效',
validators: {
notEmpty: {
message: '密码不能为空'
},
stringLength: {
min: 6,
max: 30,
message: '密码长度必须在6到30之间'
},
}
},
phone: {
message: 'The phone is not valid',
validators: {
notEmpty: {
message: '手机号码不能为空'
},
stringLength: {
min: 11,
max: 11,
message: '请输入11位手机号码'
},
regexp: {
regexp: /^1[3|5|8]{1}[0-9]{9}$/,
message: '请输入正确的手机号码'
}
}
},
}
});
});
</script>
<body>
<form id="defaultForm" role="form" class="form-signin" action="user/user.do"
method="post">
<h2 class="form-signin-heading">请输入注册信息:</h2>
<div class="form-group">
<label for="username">用户名:</label><input class="form-control"
type="text" name="username" id="username" />
</div>
<div class="form-group">
<label for="password">密码:</label><input class="form-control"
type="password" name="password" id="password"/>
</div>
<div class="form-group">
<label for="phone">手机号码:</label><input class="form-control"
type="text" name="phone" id="phone" />
</div>
<div class="form-group">
<label for="email">address:</label><input class="form-control"
type="text" name="user_address" id="email" />
</div>
<input class="form-control"
type="text" name="user_id" value="${id }" />
<div class="form-group">
<button class="btn btn-lg btn-primary btn-block" type="submit">确认注册</button>
</div>
</form>
</body>
</html>
====================================
controller类
@Controller
@RequestMapping("user")
public class ControllerTest {
/*
*
* f)注册成功后,显示登录页面,用户登录,显示用户地址信息(10分)
并且右上角显示当前登陆用户(session)
*/
@Autowired
private UserService service;
//添加的方法
@RequestMapping("user")
public String insert(Address a,User user,HttpSession session,Model model){
service.add(user);
a.setMid(user.getId());
service.insert(a);
session.setAttribute("address",a.getUser_address());
return "login";
}
@RequestMapping("exist")
@ResponseBody
public String exist(String username){
System.out.println("-------------"+username);
boolean result = true;
boolean exist = service.exist(username);
if(exist){
result=false;
}
//定义一个Map集合
Map<String, Boolean> map = new HashMap<>();
map.put("valid", result);
//创建对象
ObjectMapper mapper = new ObjectMapper();
String resultString = "";
try {
//这里是remote的方法,可以去查找相关的方法
resultString = mapper.writeValueAsString(map);
} catch (JsonGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultString;
}
}