问:如果action中有一个对象User,只写了他的setter方法,那么接收参数的时候会怎么样?
<input name="user.username">
<input name="user.password">
// 参数拦截器
request.getParameter("user.username");
request.getParameter("user.password");
UserAction{
private User user;
//getter/setter
}
参数拦截器request.getParameter("user.username")
因为参数中包含了 "." ,会到action类中调用getUser(),那么第一次获取到的User对象是null,这时的struts2会自己创建一个User对象,然后调用setUsername()方法, 然后在调用setUser()
request.getParameter("user.password")
那么,如果这个请求是在user.username后面过来的,UserAction中没有User的getter方法,获取不到User对象,那么struts2也会自己创建一个User对象,然后调用setPassword(),再调用setUser(),这样的话,会将前面的User中username属性的值给覆盖了,只剩下了password的值。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。