目录
大概访问流程是:先访问test控制器,test控制器跳转到index页面(此时index页面收到了test控制器传来的数据),然后在index页面跳转到t5控制器(此时t5控制器获取了传递的数据:id和name)
两种方式获取参数
(1)参数名要相同
(2)参数名可以不同,但是要使用@RequestParam注解
一、参数名相同
test控制器
java
@RequestMapping("/test")
public String test(Model model){
model.addAttribute("id","19999");
model.addAttribute("name","zhangsan");
return "index";
}
index页面
html
<div><a th:href="@{t5(id=${id},name=${name})}">连接</a></div>
t5控制器
java
@RequestMapping("/t5")
public String t5(String id, String name){
System.out.println("id="+id+" name="+name);
return "index2";
}
二、参数名不同,使用@RequestParam注解
@RequestParam是Spring框架中用于获取请求参数的注解。它可以用于将请求参数的值绑定到方法的参数上。具体来说,@RequestParam注解可以用于获取GET请求中的查询参数或者POST请求中的表单参数。
@RequestParam注解有以下几个常用属性:
- value:指定要绑定的请求参数的名称。例如,如果请求参数的名称为"name",则可以使用@RequestParam(value = "name")来绑定该参数。
- required:指定该请求参数是否是必需的,默认为true,表示必需。如果设置为false,当请求中没有该参数时,方法的参数将被设置为null。
- defaultValue:指定当请求中没有该参数时的默认值。例如,可以使用@RequestParam(value = "name", defaultValue = "defaultName")来指定默认值为"defaultName"。
写法例如:
@RequestParam(name = "id",defaultValue = "op",required = false)
test控制器
java
@RequestMapping("/test")
public String test(Model model){
model.addAttribute("id","19999");
model.addAttribute("name","zhangsan");
return "index";
}
index页面
html
<div><a th:href="@{t5(id=${id},name=${name})}">连接</a></div>
t5控制器
java
@RequestMapping("/t5")
public String t5(@RequestParam("id") String uid, String name){
System.out.println("id="+uid+" name="+name);
return "index2";
}