程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 代碼-初學springmvc 報錯 求助

代碼-初學springmvc 報錯 求助

編輯:編程綜合問答
初學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.()

最佳回答:


Spring注入屬性時通常是根據無參構造函數創建對象,然後調用類的各個屬性的getter和setter完成成員變量賦值的。
所以需要User類提供一個無參構造函數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved