【发布时间】:2011-02-13 18:43:44
【问题描述】:
[春季 3.0.5] [jboss 5.1]
一个有两个类
public class User {
private String name;
private String surname;
private Address address;
...
sets and gets
setters and getters
}
public class Address {
private String street;
...
setters and getters
}
在控制器中我有这个代码:
@Controller
public class MyController {
@RequestMapping(value = "/index")
public ModelAndView showForm() {
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
User user = new User();
Address adr = new Address();
mav.addObject("user", user);
mav.addObject("adr", adr);
}
现在我想用 JSP 中的两个输入元素创建
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%> <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html><head><body>
<form:form method="POST" commandName="user">
<form:label path="name" />
<form:input path="name" />
<form:label path="adr.street" />
<form:input path="adr.street" />
</form:form>
</body>
</html>
当我运行一个像这样的异常时:
org.springframework.beans.NotReadablePropertyException: Invalid property 'adr' of bean class [form.User]: Bean property 'adr' is not read or has an invalid getter method: getter的返回类型是否与参数匹配二传手的类型? org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:707) org.springframework.be
有人可以向我解释一下为什么以及如何改进代码吗?
【问题讨论】:
-
你确定没有编译错误吗?您还没有在 showForm 方法中返回
ModelAndView对象。 -
我们需要看到实际的 getter 和 setter,而不仅仅是“setter 和 getter”。
-
请不要忘记接受您喜欢的答案,例如Bozho 对您之前问题的回答。这是为了鼓励人们帮助你。
标签: java spring jsp spring-mvc