gloomysnow 2015-10-17 07:17 采纳率: 62.5%
浏览 1800
已采纳

初学springmvc 报错 求助

JSP页面表单信息:
<form action="springmvc/testmodelattribute" method="post">

    id:<input type="hidden" name="id" value="1"> <br>

    username: <input type="text" name="username" value="miwa"> <br>

    email:<input type="text" name="email" value="abc.miwa"> <br>

    age:<input type="text" name="age" value="20"> <br> 

    <input type="submit" value="submit">

springmvc handler 相关代码:
@Controller
@RequestMapping("/springmvc")
public class gloomy {

@ModelAttribute
public void getUser(@RequestParam(value="id ",required = false) Integer id,Map<String , Object> map ){
    if(id != null){
        User user = new User("miwa", id, "123456", "abc.miwa", 20);
        System.out.println("获取一个对象"+user);
        map.put("user", user);
    }
    System.out.println("我在这里");
}

@RequestMapping("/testmodelattribute")
public String  testmodelattribute( User user){
    System.out.println("修改"+user);
    return "success";
}

}
POJO代码:

public class User {
private String username;
private Integer id;
private String password;
private String email;
private int age;
private Adress adress;
public User(String username, Integer id, String password, String email,
        int age) {
    super();
    this.username = username;
    this.id = id;
    this.password = password;
    this.email = email;
    this.age = age;
}
public User(String username, String password, String email, int age) {
    super();
    this.username = username;
    this.password = password;
    this.email = email;
    this.age = age;
}
public Adress getAdress() {
    return adress;
}
public int getAge() {
    return age;
}
public String getEmail() {
    return email;
}
public Integer getId() {
    return id;
}

public String getPassword() {
    return password;
}
public String getUsername() {
    return username;
}
public void setAdress(Adress adress) {
    this.adress = adress;
}
public void setAge(int age) {
    this.age = age;
}
public void setEmail(String email) {
    this.email = email;
}
public void setId(Integer id) {
    this.id = id;
}
public void setPassword(String password) {
    this.password = password;
}
public void setUsername(String username) {
    this.username = username;
}
@Override
public String toString() {
    return "User [username=" + username + ", id=" + id + ", password="
            + password + ", email=" + email + ", age=" + age + "]";
}

异常信息:

    严重: Servlet.service() for servlet [springDispatcherServlet] in context with path [/SpringMVC] threw exception [Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.gloomy.springmvc.pojos.User]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.gloomy.springmvc.pojos.User.<init>()] with root cause

java.lang.NoSuchMethodException: com.gloomy.springmvc.pojos.User.()

  • 写回答

4条回答 默认 最新

  • 毕小宝 博客专家认证 2015-10-17 11:25
    关注

    Spring注入属性时通常是根据无参构造函数创建对象,然后调用类的各个属性的getter和setter完成成员变量赋值的。
    所以需要User类提供一个无参构造函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能