我想在控制器中執行依賴注入,而不是使用setter方法,但它沒有工作。當使用控制器完成數據表單的發佈時,目的是將表單輸入與我的領域模型的屬性綁定。在POST中使用Spring MVC查看模型的視圖3
我想要什麼:只需使用springframework 3.1將控件類中的域模型與我的窗體綁定即可。
我的域類:
public class Person {
private String name;
@Autowired
public Person(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
我的JSP(人次獲得):
<form action="test-person" method="post">
<table cellpadding="0" cellspacing="0" align="center">
<tr>
<td> <b> NAME: </b> </td>
<td> <input type="text" id="name" name="name"> </td>
</tr>
</table>
</form>
我的控制器:
@Controller
public class PersonController {
@RequestMapping(value = "test-person", method = RequestMethod.GET)
public String loadViewGet() {
return "person-get";
}
@RequestMapping(value = "test-person", method = RequestMethod.POST)
public String doPost(Person person, Model model) {
model.addAttribute("person", person);
return "person-post";
}
}
,並顯示的輸入名字的最後一個JSP人(用戶):
<table cellpadding="0" cellspacing="0" align="center">
<tr>
<td> <b> NAME: </b> </td>
<td> ${person.name} </td>
</tr>
</table>
有一種方法可以將表單輸入與我的模型類(Person)綁定,而無需使用setter方法?
任何人都知道另一個可以做到這一點的Java Web框架?
謝謝!
「改爲使用setters方法,但它沒有工作」它是如何工作的? – Raedwald
引發一個異常,說明該屬性不存在。 Spring MVC在setter方法中使用反射來做到這一點。我想知道是否有另一種方式 - 不使用setter方法 - 做到這一點。謝謝! –
現在,我看到這個問題只是您以前的問題的副本http://stackoverflow.com/questions/17220310/constructor-dependency-injection-in-spring-mvc-3。 –