共计 1095 个字符,预计需要花费 3 分钟才能阅读完成。
一、申请参数
申请参数采纳 key = value 模式,并用“&”分隔。例如上面的 URL 带有名为 name 和 pwd 的申请参数。
localhost:9090/showUser?name=spring&pwd=spring
在传统的 servlet 编程中,能够应用 HttpServletRequest 的 getParameter 办法来获取申请参数值。
String name = httpServletRequest.getParameter(“name”);
Spring MVC 提供了一个更简略的办法来获取申请参数: 通过注解 @RequestParam 来正文办法参数。依据下面的 URL,编写一个映射函数。
@RequestMapping(value="/showUser/")
public String testRequestParam(@RequestParam String name, @RequestParam String pwd, Map<String, Object> model){model.put("name", name);
model.put("pwd", pwd);
return "showUser";
}
运行后果如下:
二、门路参数
门路参数相似申请参数,但没有 key 局部,只是一个值。例如上面的 URL:
http://localhost:9090/showUser/spring
其中的 spring 是示意用户的明码字符串。在 Spring MVC 中,spring 被作为门路变量用来发送一个值到服务器。Sping 3 当前 Spring 3 当前反对注解 @PathVariable 用来接管门路参数。为了应用门路变量,首先须要在 RequestMapping 注解的值属性中增加一个变量,该变量必须放在花括号之间,例如:
@RequestMapping(value=“/showUser/{pwd}”)
而后在办法签名中加上 @PathVariable 注解。具体代码如下:
@RequestMapping(value= "/showUser/{pwd}")
public String testPathVariable(@PathVariable(name="pwd") String password, Map<String, Object> model){model.put("pwd", password);
return "showUser";
}
运行后果:
能够在申请映射中应用多个门路变量。例如,上面定义了 userId 和 orderId 两个门路变量。
@RequestMapping(value=“/showUser/{userId}/{orderId}”)。