访问:http://localhost:8080/play/testController/returnJsp.action
页面取值方式为:
<h3>方式一:${hello}</h3> <h3>方式二:${string}</h3> <!-- 注意此处string小写 --> <h3>方式三:${user.userName}</h3> <!-- 这样方参数的话,默认的key是参数类型 --> <h3>方式四:${user2.userName}</h3> <c:forEach items="${list}" var="user"> <h3>方式五:${user.userName}</h3> </c:forEach>访问 http://localhost:8080/play/testController/testModel.action
model需要写在方法的参数中,ModelAndView则不需要。 Model方式与ModelAndView方式基本相同,页面取值方式为
<h3>方式一:${hello}</h3> <h3>方式二:${string}</h3> <!-- 注意此处string小写 --> <h3>方式三:${user.userName}</h3> <!-- 这样方参数的话,默认的key是参数类型 --> <h3>方式四:${user2.userName}</h3> <c:forEach items="${list}" var="user"> <h3>方式五:${user.userName}</h3> </c:forEach>访问:http://localhost:8080/play/testController/testModelAndView.action
访问:http://localhost:8080/play/testController/testRequestParam.action?name=张三&num=11&address=北京 控制台打出:
使用form表单提交,需要将格式转化为json,后台才能封装为自定义对象。
<form> <input id="userName" name="userName" ></input> <input id="age" name="age" ></input> <button id="btn" >提交</button> </form> <script type="application/javascript"> //发送表单ajax请求 $('#btn').on('click',function(){ $.ajax({ url:"testRequestBody.action", type:"POST", data:JSON.stringify($('form').serializeObject()), contentType:"application/json", //缺失会出现URL编码,无法转成json对象 success:function(){ alert("成功"); } }); }); /** * jquery方式自动将form表单封装成json对象 */ $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; }; </script>此方式为使用jquery将参数转化为json格式,页面需要引入jquery。 普通form提交方式需要逐一接收。
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>后台接收对象代码
/** * 绑定自定义对象 * @param user * @return */ @RequestMapping(value="/testRequestBody") public String testRequestBody( @RequestBody User user ){ System.out.println("userName : " + user.getUserName() ); return "/testController/returnJsp"; }前台输入: 控制台打出: