首先修复老师代码的一处bug,这个bug如果不修复的话,查询数据库中不存在的名字会导致error。
将UserServiceImpl.java中的
start = (pageInfo.getCurrentPage() - 1) * pageInfo.getSize();
这句话,改成
int start = 0;
if(totalPage != 0) {
start = (pageInfo.getCurrentPage() - 1) * pageInfo.getSize();
}
然后修改dataList.jsp
在页面上加入
<div class="col-md-3 data">
<input type="text" class="form-control input-sm" placeholder="用户名" id="username" value="${sessionScope.username}">
</div>
<button type="button" class="btn bg-maroon" onclick="search()">搜索</button>
如上界面,然后在该文件下方JavaScript代码里面加入如下代码
function search(){
var username = $("#username").val();
//(username);
$.ajax({
type: "post",
url: "${pageContext.request.contextPath}/user/findAll03?type=1",
data: {username: username.toString()/*, type: "1" */},
success: function () {
location.href="${pageContext.request.contextPath}/user/findAll03?type=1&username="+username;
},
error: function () {
alert("查询失败");
}
})
}
至此,我们通过对今早java代码的复用,成功实现了通过ajax传参实现按名字模糊查询。