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 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败