Как вызвать контроллер с помощью html-ссылки в Spring-mvc?

#java #javascript #jsp #spring-mvc

#java #javascript #jsp #spring-mvc

Вопрос:

У меня есть страница jsp с именем reports.jsp, и я отобразил ссылки в представлении, чтобы пользователь мог щелкнуть. Как я могу вызвать метод Spring controller, щелкнув по ссылке, которая передаст аргумент.

Комментарии:

1. Как выглядит ссылка?

Ответ №1:

Для этого вы должны использовать @PathVariable . Пример:

Jsp:

 <a href="<c:url value="/test/${object.argument}" />" >hello</a>
  

Контроллер:

 @RequestMapping(value = "/test/{argument}", method = RequestMethod.GET)
    public String Controller(@PathVariable("argument") String argument) {
       ...
    }
  

Ответ №2:

Я разрешил ответ, создав ссылку:

 <a href=".../test?argName=arg1" >hello</a>
  

Контроллер:

 @RequestMapping(value = "/test", method = RequestMethod.GET, params = {"argName"})
    public String Controller(@RequestParam(value="argName", required = true, defaultValue = null) String argName) {
       ...
       //Now do exciting things with variable argName
    }
  

Ответ №3:

На странице JSP

 <a class="opcion"  href="<%= request.getContextPath()%>/inicio">Inicio</a>
  

И в серверной части контроллера

 @Controller
public class HomeController {
    @RequestMapping(value = "/inicio", method = RequestMethod.GET)
    public String index(ModelMap model){
        model.addAttribute("message", "cargaGeneracion");
        return "index";
    }
}