变量名相同
@RequestMapping("queryUser.do") public ModelAndView queryUser(int uid,HttpServletRequest request, HttpServletResponse response, HttpSession session) { ModelAndView mv = new ModelAndView(); //jsp的做法-获取地址栏中的参数的方法 //String uid = request.getParameter("uid"); User user = userDao.queryUser(Integer.valueOf(uid)); mv.addObject("user",user); mv.setViewName("order-view"); return mv; }可以支持基本数据类型及其对应的包装类 注意点:该形式要求方法中的参数名必须和请求的参数名一致,该参数必须要有值 变量名不同 @RequestParamname:请求地址中的参数名 required:是否必须有值,默认为true defaultValue:设置默认值
@RequestMapping("queryUser.do") public ModelAndView queryUser(@RequestParam(name = "uid",required = false,defaultValue = "1") int id, HttpServletRequest request, HttpServletResponse response, HttpSession session) { ModelAndView mv = new ModelAndView(); //jsp的做法-获取地址栏中的参数的方法 //String uid = request.getParameter("uid"); User user = userDao.queryUser(id); mv.addObject("user",user); mv.setViewName("order-view"); return mv; }pojo类型 注意点:使用pojo类型自动映射要求表单中的字段名和实体类中的属性名保持一致
@RequestMapping("updateUser.do") public ModelAndView updateUser(User user) { ModelAndView mv = new ModelAndView(); int result = userDao.updateUser(user); mv.addObject("result", result); mv.setViewName("edit"); return mv; } <form class="layui-form" action="updateUser.do" method="post"> <div class="layui-form-item"> <label for="L_email" class="layui-form-label"> <span class="x-red">*</span>用户ID</label> <div class="layui-input-inline"> <input type="text" id="uid" name="uid" value="${user.uid}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_username" class="layui-form-label"> <span class="x-red">*</span>用户姓名</label> <div class="layui-input-inline"> <input type="text" id="uname" name="uname" value="${user.uname}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_pass" class="layui-form-label"> <span class="x-red">*</span>联系方式</label> <div class="layui-input-inline"> <input type="text" id="phone" name="phone" value="${user.phone}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_repass" class="layui-form-label"> <span class="x-red">*</span>家庭住址</label> <div class="layui-input-inline"> <input type="text" id="address" name="address" value="${user.address}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_repass" class="layui-form-label"></label> <button class="layui-btn" lay-filter="add" lay-submit="">修改</button></div> </form>自定义类型
public class Custom { private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } } @RequestMapping("updateUserCustom.do") public ModelAndView updateUserCustom(Custom custom) { ModelAndView mv = new ModelAndView(); int result = userDao.updateUser(custom.getUser()); mv.addObject("result", result); mv.setViewName("edit"); return mv; } <form class="layui-form" action="updateUserCustom.do" method="post"> <div class="layui-form-item"> <label for="L_email" class="layui-form-label"> <span class="x-red">*</span>用户ID</label> <div class="layui-input-inline"> <input type="text" id="uid" name="user.uid" value="${user.uid}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_username" class="layui-form-label"> <span class="x-red">*</span>用户姓名</label> <div class="layui-input-inline"> <input type="text" id="uname" name="user.uname" value="${user.uname}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_pass" class="layui-form-label"> <span class="x-red">*</span>联系方式</label> <div class="layui-input-inline"> <input type="text" id="phone" name="user.phone" value="${user.phone}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_repass" class="layui-form-label"> <span class="x-red">*</span>家庭住址</label> <div class="layui-input-inline"> <input type="text" id="address" name="user.address" value="${user.address}" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_repass" class="layui-form-label"></label> <button class="layui-btn" lay-filter="add" lay-submit="">修改</button></div> </form>@RequestMapping
@RequestMapping(value = “queryUsers.do”,method = {RequestMethod.POST,RequestMethod.GET})
@RequestMapping在类上使用时出现静态资源被过滤的问题(待处理)
ModelAndView 数据+视图 很强大,万能 (没有分离)
String 视图(数据交给Model) 更符合MVC的模式(分离)
@RequestMapping(value = "/queryUsers.do",method = {RequestMethod.POST,RequestMethod.GET}) public String queryUsers(Model model) { List<User> userList = userDao.queryUsers(); //request.setAttribute("data",userList) model.addAttribute("data", userList); return "order-list"; }void ajax–json数据交互