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.