首先说明spring在注解MVC时的两个注解@PathVariable和@RequestParam。在传递过程中的URL请求本身上的参数通过@PathVariable获取,而在随着URL传递过来的参数的值通过@RequestParam获取。下边通过两个例子来说明:
@PathVariable:
前台请求的URL:
URL='/Collect/toCollect/JqOper/batchSubmit/unitId/discId/provinceId';后台获取参数:
@RequestMapping("/batchSubmit/{provinceId}/{unitId}/{discId}") @ResponseBody public Map<String, String> submitToYou( @PathVariable(value="provinceId")String provinceId, @PathVariable(value="unitId")String unitId, @PathVariable(value="discId")String discId, HttpServletRequest request,HttpSession session)注意,这里的参数是一一对应的,也就是在batch后边分别有三个对应的参数,通过@PathVariable取出与之对应
前台URL:
URL="${ContextPath}/check/unitLogicCheck_DataConfig?entityId="+entityId后台获取参数:
@RequestMapping("unitLogicCheck_DataConfig") @ResponseBody public String YOU( @RequestParam(value = "entityId") String entityId)需要说明的是:
@RequestParam(value="username",required=false) String username //表示请求中可以没有名字为username的参数,如果没有默认为null。 @RequestParam(value="username", required=true, defaultValue="zhang") String username //表示如果请求中没有名字为username的参数,默认值为“zhang”。 @RequestParam(value="list") List<String> list//请求中有多个同名参数
深入浅出SPRINGMVC