首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在eclipse中,java-ee curd程序更新不起作用。

在eclipse中,java-ee curd程序更新不起作用。
EN

Stack Overflow用户
提问于 2017-05-29 07:23:41
回答 1查看 58关注 0票数 1

我现在正在对eclipse java-ee进行编码,在curd mvc程序中,我已经生成了四种方法,除了更新方法之外,编译时我可以读取数据,但是当我更新时,我得到了错误400,我给出了我的控制器和道类。

我的控制器

代码语言:javascript
复制
----------

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.``ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
import dao.UserDaoImpl;
import model.User;



@Controller
public class Firstcontroller  {

    @Autowired
    UserDaoImpl userDao;

    @RequestMapping(value="/add")
    public ModelAndView redirectUser()
    {
        ModelAndView m=new ModelAndView("add");
        return m;
    }


    @RequestMapping(value="/table")
    public ModelAndView viewUser()
    {
        List<User> list=userDao.viewUsers();
        return new ModelAndView("All_User","list",list);

    }

    @RequestMapping(value="/register",method=RequestMethod.POST)
    public ModelAndView processSaveUser(@ModelAttribute User user)
    {
        if(userDao.saveUser(user))
        {
            ModelAndView m=new ModelAndView("login","response","Successfully Registered");
            return m;
        }

        ModelAndView m1=new ModelAndView("signup","response","Failed Registeration");
        return m1;

    }

    @RequestMapping(value="deleteuser/{id}" ,method = RequestMethod.GET)
    public ModelAndView deleteuser(@PathVariable int id)
    {
        userDao.delete(id);
        return new ModelAndView("redirect:/table");  
    }

    @RequestMapping(value="/edituser/{id}")  
    public ModelAndView edit(@PathVariable int id){  

       User user=userDao.getUserById(id);
        return new ModelAndView("edituser","command",user);  
    }  

    @RequestMapping(value="/save",method = RequestMethod.POST)  
    public ModelAndView edituser(@PathVariable String id){  
        System.out.println("Got In");
        //userDao.update(user);  
        return new ModelAndView("redirect:/table");  
}
}

我的刀是

代码语言:javascript
复制
    package dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import handler.UserRowMapper;
import model.User;

public class UserDaoImpl implements UserDao {

    private JdbcTemplate jdbcTemp;

    public void setJdbcTemp(JdbcTemplate jdbcTemp) {
        this.jdbcTemp = jdbcTemp;
    }



    public boolean saveUser(User user) {
        String sql_query="INSERT INTO userdata (username,password) VALUES (?,?)";
        int x=jdbcTemp.update(sql_query,user.getLunm(),user.getLpwd());
        if(x>0)
        {
            return true;
        }
        return false;
    }

    public List<User>viewUsers()
    {
        return jdbcTemp.query("select * from userdata",new RowMapper<User>()
                {
                  public User mapRow(ResultSet rs,int row)throws SQLException
                  {
                      User u=new User();
                      u.setId(rs.getInt(1));
                      u.setLunm(rs.getString(2));
                      u.setLpwd(rs.getString(3));
                      return u;
                  }
                }
                ); 
    }

    public User getUserById(int id)
    {
        String sql="select * from userdata where id=?";
        return (User)jdbcTemp.queryForObject(sql,new Object[]{id},new UserRowMapper());
    }


    public int delete(int id)
    {
        String sql="delete from userdata where id=?";
        int x=jdbcTemp.update(sql,id);
        if(x>0)
        {
            return(x);
        }
        return (0);
    }

    public int update(User user)
    {
        String sql="update userdetails set username=? and password=? where id=?";
        return jdbcTemp.update(sql,user.getLunm(),user.getLpwd(),user.getId());
    }
}

EditUser.jsp

代码语言:javascript
复制
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
<%@ page isELIgnored="false" %>
        <h1>Edit User</h1>
        <h1>${command.id }</h1>
       <form:form method="POST" action="save?id=${command.id }">  
        <table >  
        <tr>
        <td></td>  
         <td><form:hidden  path="id" /></td>
         </tr> 
         <tr>  
          <td>Username : </td> 
          <td><form:input path="lunm"  /></td>
         </tr>  
         <tr>  
          <td>password :</td>  
          <td><form:input path="lpwd" /></td>


         <tr>  
          <td> </td>  
          <td><input type="submit" value="Edit" /></td>  
         </tr>  
        </table>  
       </form:form> [ this is my error msg][1]

从表中获取值

EN

回答 1

Stack Overflow用户

发布于 2017-05-29 07:33:24

代码语言:javascript
复制
 @RequestMapping(value="/save",method = RequestMethod.POST)  
 public ModelAndView edituser(@PathVariable String id){  
    System.out.println("Got In");
    //userDao.update(user);  
    return new ModelAndView("redirect:/table");  
 }

如果上面的代码用于商店,更新后的用户名和密码意味着将@PathVariable更改为@ModelAttribute用户,例如:

代码语言:javascript
复制
 @RequestMapping(value="edituser/save",method = RequestMethod.POST)  
   //@RequestMapping(value="/save",method=RequestMethod.PUT)
 public ModelAndView edituser(@ModelAttribute User user){  
    System.out.println("Got In");
    userDao.update(user);  
    return new ModelAndView("redirect:/table");  
 }

有不同的表名

代码语言:javascript
复制
public int delete(int id)
    {
    String sql="delete from userdata where id=?";
    int x=jdbcTemp.update(sql,id);
    if(x>0)
    {
        return(x);
    }
    return (0);
}


public int update(User user)
{
    String sql="update userdata set username=?,password=? where id=?";
    return jdbcTemp.update(sql,user.getLunm(),user.getLpwd(),user.getId());
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44236743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档