今日学习笔记

servlet层给保存和编辑功能做区分打标

 

由于保存和编辑的功能在servlet层中被编写到了一起,在调用过程中为了达到对两种功能的区分,则通过给两个功能打标的方式,实现区分调取

 

功能中添加

function add() {
    var flag = document.getElementById("flag").value;

设置保存功能为flag,如值为1,则为保存,如为空,则为编辑

Servlet

if ("1".equals(flag)) {

} else {
    userService.addUser(user);
}

Service

void  editUser(User user) throws SQLException;

 

实现步骤

if ("1".equals(flag)) {
    userService.editUser(user);
} else {
    userService.addUser(user);

 利用update格式实现编辑功能

var ret ;
if (flag != "1") {
    var url = '<%=path%>/userServlet', params='type=4&userId='+userId;
    ret = getDataByAjax(url, params);
} else {
    ret = "1";
}

public void editUser(User user) throws SQLException {
    StringBuffer sql = new StringBuffer("update userInfo set ");
    sql.append(" userName='" + user.getUserName() + "',");
    sql.append(" userPassword='" + user.getUserPassword() + "',");
    sql.append(" roleId='" + user.getRoleId() + "',");
    sql.append(" where userId='" + user.getUserName() + "'");

 

如果在打标区返回数值为1,则说明该用户名“已被占用”,否则返回数据为null,则可以进行编辑

 

报错

 工程出现500报错

经检查,SQL语句错误

sql.append(" roleId='" user.getRoleId() + "',");

应为

sql.append(" roleId=user.getRoleId() + "',");

这是一个非常细微的错误,不容易发现排查,非常值得注意 

posted @ 2020-12-11 17:09  计算机语言学习日志  阅读(59)  评论(0)    收藏  举报