2016-04-19 2 views
0

Привет им с strugle с JSP и весной,Передача параметров с JSP контролеру весной

<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 для отправки строкового значения соответствующего животного контроллеру.

ответ

1

Вы можете передать строку имени животного в переменном пути и для этого URL для доступа к службе отдыха станет 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> 
+0

это было ясно для меня, но как это должно быть на стороне jsp? Cat's list
filemonczyk

+0

URL? Животное = Cat & другое = OtherIfYouWant – crm86

+0

URL-адрес после Cat's list
идет как этот URL/writeCat (обратите внимание, что "/" отсутствует), поэтому я изменил @RequestMapping, но все-таки интересно, почему он вырезает "/"из URL-адреса href – filemonczyk