Can anyone please explain how path attribute works in binding objects from a html form to a Java class in Spring. I am newbie to spring web framework please help.
Asked
Active
Viewed 6.8k times
22
-
Try searching "spring form tags". It looks like html tags with spring attributes to bind an html form to an object. – Oneb Jul 15 '13 at 05:13
-
i did that but no useful information,was unable to understand,so tried asking Stack :) – Paritosh Ahuja Jul 15 '13 at 05:15
-
see http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html – Jul 15 '13 at 05:38
1 Answers
50
Long story short the path attribute is bound into java properties using java beans convention. For example for following form:
<form:form method="post" modelAttribute="theStudent">
Name: <form:input type="text" path="name"/>
Cool?: <form:input type"checkbox" path="cool"/>
<button>Save</button>
</form:form>
And following controller handler method:
@RequestMapping(...)
public String updateStudent(@ModelAttribute("theStudent") Student student) {
// ...
}
Will bind automatically if the Student class is defined with following properties:
public class Student {
private String name;
public String getName() { return this.name; }
public void setName(String name) { this.name = name; }
private boolean cool;
public boolean isCool() { return this.cool; }
public void setCool(boolean cool) { this.cool = cool; }
}
More info of the JavaBeans convetion is available at section 8.3 of the specification document.

gerrytan
- 40,313
- 9
- 84
- 99
-
-
2It's just another syntax for modelAttribute. So `commandObject="theStudent"` will give same result – gerrytan Jul 15 '13 at 06:28
-
Hello, this won't work unless you add commandName="command" in the form. – FrankelStein Feb 23 '16 at 15:43