今日学习笔记
在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() + "',");
这是一个非常细微的错误,不容易发现排查,非常值得注意
                    
                
                
            
        
浙公网安备 33010602011771号