你好,我正在使用JSP和Spring,
<html>
<head>Title
</head>
<body>
Welcome in my view
<h1>Animal's Database</h1>
<br>
<strong>${message}</strong><br>Give me:<br>
<a href="writeCat" >Cat's list</a><br>
<a href="writeDog">Dog's list</a><br>
<a href="writeSnake">Snake's list</a>
</body>
这是我的控制器
public String getAnimalList(Model model){
model.addAttribute("animalList", animalDAO.getAnimalList("Cat"));
return "list";
}
@RequestMapping("/writeDog")
public String getAnimalList1(Model model){
model.addAttribute("animalList", animalDAO.getAnimalList("Dog"));
return "list";
}
@RequestMapping("/writeSnake")
public String getAnimalList2(Model model){
model.addAttribute("animalList", animalDAO.getAnimalList("Snake"));
return "list";
}
我想要做的是摆脱3x getAnimalList
方法,但我无法弄明白,如何将字符串从JSP传递给控制器,例如。 “猫”,“蛇”,“狗”。
我知道在控制器的主体中我应该使用request.getParameter(XXX).
我的问题是让jsp将相应动物的字符串值发送给控制器。
答案 0 :(得分:1)
您可以在路径变量中传递动物名称字符串,并且该网址访问其余服务将成为basepath/write/animalName
,
@RequestMapping("/write/{animal}")
public String getAnimalList1(Model model, @PathVariable("animal") String animal){
model.addAttribute("animalList", animalDAO.getAnimalList(animal));
return "list";
}
使用路径变量,您可以在href
,
<a href="/write/Cat" >Cat's list</a><br>
<a href="/write/Dog">Dog's list</a><br>
<a href="/write/Snake">Snake's list</a>