一 细节实现
一、自定义validate验证输入的数字小数点位数不能大于两位
<script type="text/javascript">
$.validator.addMethod(
"minNumber",
function(value,element,params){
var returnVal = true;
inputZ=value;
var ArrMen= inputZ.split("."); //截取字符串
if(ArrMen.length==2){
if(ArrMen[1].length>2){ //判断小数点后面的字符串长度
returnVal = false;
return false;
}
}
return returnVal;
}
); //验证错误信息
$(function(){
$("#my-layui-form").validate({
rules:{
"height":{
"minNumber":true //调用自定义验证
}
},
messages:{
"height":{
"minNumber":"输入值精确至2位"
}
}
});
});
</script>
二、自定义校验规则新增数据与数据库已存在值不重复
1、jsp
<script type="text/javascript">
$.validator.addMethod(
//规则的名称
"checkIdCard",
//校验的函数
function(value,element,params){
//定义一个标志
var flag = false;
//value:输入的内容
//element:被校验的元素对象
//params:规则对应的参数值
//目的:对输入的idCard进行ajax校验
$.ajax({
"async":false,
"url":"${pageContext.request.contextPath}/checkIdCard",
"data":{"idCard":value},
"type":"POST",
"dataType":"json",
"success":function(data){
flag = data.isExist;
}
});
//返回false代表该校验器不通过
return !flag;
}
);
$(function(){
$("#my-layui-form").validate({
rules:{
"idCard":{
"checkIdCard":true
}
},
messages:{
"idCard":{
"checkIdCard":"身份证号码已存在"
}
});
});
</script>
2、servlet层
3. service层
4.dao层
三、date类型的input框设置默认日期
<input type="date" name="time" id="time">
<script>
$(function(){
var time = new Date()
var day = ('0' + time.getDate()).slice(-2)
var month = ('0' + (time.getMonth() + 1)).slice(-2)
var today = time.getFullYear() + '-' + month + '-' + day
$('#time').val(today)
})
</script>
四、servlet传递纯数字字符串到jsp页面后几位数字符变为0解决办法
String idCardB= "'"+student.getIdCard()+"'";
request.setAttribute("idCardB", idCardB);
五、layui表单元素(下拉框,单选框,复选框)不显示问题
<form id="my-layui-form" class="layui-form" action="" method="post">
</form>
<script>
layui.use('form', function(){
var form = layui.form;
form.render();
});
</script>
六、表单位于页面中间
<style type="text/css">
body{
width: 100%;
height: 100%;
}
.layui-form{
content: div;
display: inline-block;
height: 100%;
vertical-align: middle;
}
.layui-form-item {
vertical-align: middle;
width: auto;
}
</style>
<body>
<div style="width:100%;text-align:center">
<form id="my-layui-form" class="layui-form" action="" style="margin-top: 80px;">
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-input-block">
<input type="text" style="width:165px;">
</div>
</div>
</form>
</div>
</body>
二 总体逻辑
一、创建数据库student(创建数据表student)
二、创建SHIMS项目
1、搭建java web项目工程
2、创建package(dao、service、utils、domain、web层)
3、导jar包
4、导.xml配置文件
5、导utils工具包
6、层与层的作用
domain层Student实体对象创建 ——>
dao层写sql语句 ——>
service层写事务 ——>
servlet层与jsp交互展示页面数据库数据
7、功能实现
学生信息列表显示功能 ——>
ActionServlet:调用StudentService的list方法返回学生集合传给main.jsp展示学生信息列表
其中StudentService的list方法中调用StudentDao的list方法,StudentDao的list方法写sql查询语句
学生信息增加记录功能 ——>
访问aciton后,网页存在增加按钮,增加按钮超链接到addStudent.jsp,表单记录信息符合要求后提交,跳转AddStudentServlet:获取表单数据,调用StudentService的add方法增加学生记录,再重定向到aciton展示学生信息列表
其中StudentService的add方法中调用StudentDao的add方法,StudentDao的add方法写sql增加学生记录语句
学生信息删除记录功能 ——>
访问aciton后,网页存在删除按钮,删除按钮超链接到DeleteStudentServlet:调用StudentService的delete方法删除学生记录,再重定向到aciton展示学生信息列表
其中StudentService的delete方法中调用StudentDao的delete方法,StudentDao的delete方法写sql删除学生记录语句
其中StudentService的delete方法中调用StudentDao的delete方法,StudentDao的delete方法写sql删除学生记录语句
学生信息修改记录功能——>
访问aciton后,网页存在修改按钮,修改按钮超链接到LoadServlet,获取数据并传数据跳转到updateStudent.jsp,进行修改需要修改的字段后,跳转UpdateStudentServlet:获取表单数据,调用StudentService的update方法修改学生,再重定向到aciton展示学生信息列表
其中StudentService的update方法中调用StudentDao的update方法,StudentDao的update方法写sql修改学生记录语句