动态请求
后台:@RequestMapping("/{dataType}/")
前台:url : G_CTX_PATH+ '/data/'+ param.dataType + '/'
后台:@RequestMapping(value="/htApList/{bereauCode}/{industryType}/{hotCode}/{hotName}/{hotAddr}/{hotAddress}")
前台:url:'${ctx}/manager/htApList/${bereauCode}/${industryType}/${hotCode}/${hotName}/${hotAddr}/${hotAddress}'
Ant风格的URL路径映射
@RequestMapping(value="/product?") // 可匹配“/product1”或“/producta”,但不匹配“/product”或“/productaa”; @RequestMapping(value="/product*") // 可匹配“/productabc”或“/product”,但不匹配“/productabc/abc”; @RequestMapping(value="/product/*") // 可匹配“/product/abc”,但不匹配“/productabc”; @RequestMapping(value="/products/**/{productId}") // 可匹配“/products/abc/abc/123”或“/products/123”,也就是Ant风格和URI模板变量风格可混用;
请求方法
// 处理post 就换成 POST @RequestMapping (value="/start",method=RequestMethod.GET)
多个请求链接
@RequestMapping(value = { "list", "" }) //如果请求不倒url1就会请求url2 @RequestMapping(value = { "url1", "url1" })
前端传值
1.表单方式
<form> title:<input type="text" name="title"/> content:<input type="text" name="content"/> <input type="submit" value="提交"/> </form>
2.异步方式
function save(postsId,userId,userNick) { $.ajax({ type : "POST", url : '/posts/save', dataType : "json", data : { title: "这里是标题", content :"这里是内容" }, success : function(data, textStatus, jqXHR) { alert("异步方法提交") } }); }
3.框架加载
如: easyui load 加载
//easyui的 load 事件中传递给url的参数不能过多 //全部放到一个json变量中,然后作为load的参数就行了,jquery会自动调用这个方法处理json对象为键值对 eg:var params={a:1,b:2,c:3,d:4,e:5/*...其他更多的*/} $('#dg').datagrid('load',params ); //查询 function search(){ //定义一个model 实际也是json对象 /*var params={ org:$('#org').val(), beginTime:$('#beginTime').datebox('getValue'), endTime:$('#endTime').datebox('getValue'), }*/ var org = $("input[name='org']").val(); var beginTime = $('#beginTime').datebox('getValue'); var endTime = $('#endTime').datebox('getValue'); //json对象 var params = {org:org,beginTime:beginTime,endTime:endTime}; $("#dg").datagrid('load',params); };
Spring MVC 的请求参数获取的几种方法
1.通过@PathVariabl注解获取路径中传递参数
@RequestMapping(value = "/{id}/{str}") public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) { System.out.println(id); System.out.println(str); return new ModelAndView("/helloWorld"); }
2.方法直接接收参数
public void saveComment(String title,String content) { }
3.@ModelAttribute注解获取POST请求的FORM表单数据
@RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute("pojo") Pojo pojo) { return "helloWorld"; }
4.直接用model接收参数
表单参数注入到方法参数,和表单的name属性保持一致
public void saveComment(Pojo pojo) {}
5.直接用HttpServletRequest获取
@RequestMapping(method = RequestMethod.GET) public String get(HttpServletRequest request, HttpServletResponse response) { String org = request.getParameter("org"); System.out.println(org); return "helloWorld"; }
6.用注解@RequestParam绑定请求参数a到变量a
//当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决 @RequestParam(value="a", required=false) @RequestMapping(value = "/requestParam", method = RequestMethod.GET) public String setupForm(@RequestParam("a") String a, ModelMap model) { System.out.println(a); return "helloWorld"; } public void saveComment(@RequestParam("title") String title,@RequestParam("content")String content) { }
6.1用注解@RequestParam绑定Map接收不定参数
//@RequestParam Map 接收不定参数 @RequestMapping(value = "/call", produces = "text/html;charset=UTF-8") @ResponseBody public String callback(@RequestParam Map<String, String> params) { return null; }