问个关于SpringMVC+SpringJDBC+Velocity保存实体的问题,谢谢。
问个关于SpringMVC+SpringJDBC+Velocity保存实体的问题,谢谢。
Spring+SpringMVC+SpringJDBC+Velocity
项目用的久是上面的框架,
实体类如下:
User:
private String userName;
private String userDesc;
private Double chengDa;
private Date createTime;
页面使用Velocity
我UserService里面有个借口 public void addUser(User user);
然后实现类,采用JDBC,sql语句是insert into ...
请问下,如何在Controller里面获取velocity的User user对象呢,
@Autowired
private UserService userService
@RequestMapping("addUser")
public void addUser(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap) throws IOException, SolrServerException {
userService.addUser(user);
}
因为我要用对象来保存,谢谢。最好有代码,谢谢。
------解决方案--------------------你可以定义了页面到Controller的TO对象,这个例子中你可以直接使用User实体。重点是你页面到控制器时传递的参数名称和User对象的属性名称完全一致,比如页面上一个表单,则里面的input域的name属性是userName,则这个input的值就会直接赋值给User对象userName属性,当然控制器里面的方法public void addUser(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap)需要加上一个参数,变成public void addUser(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap, User user).另外友情提示下,控制器里面的方法,除非您要操作session,否者很少用到request和response两个参数。
不知道说清楚了没有,没清楚欢迎拍砖
------解决方案--------------------
yes,看来还是表达清楚的。呵呵
另外如果只有一两个参数,不需要通过对象来接受参数值,可以直接使用name属性值来接受。比如<input name='userName' value='nnnn'/>,在控制器方法中添加一个 String userName 参数即可。