JSP/JSTL тэг
Всем доброй ночи, изучаю Spring MVC + Hibernate по видеоурокам. Столкнулся со следующей проблемой:
Мне нужно создать ссылку на метод контроллера и передать в нее параметр, но тэг <c:url> в value не видит методы моего контроллера, которые уже замаплены и при том в других страницах успешно используются. Почему то видит только jsp страницы с проекта. (Хотя когда танцевал с бубном, узнал, что <a href эти методы видит, но он мне не подходит)
JSP
<input type="button" value="Update"
onclick="window.location.href = '${updatebutton}'">
<c:url value="/updateInfo" var="updatebutton">
<c:param name="empsId" value="${emp.id}"> </c:param>
</c:url>
MyController
@RequestMapping("/updateInfo")
public String updateEmployee(@RequestParam("empId") int id, Model model){
Employee employee = employeeService.getEmployee(id);
model.addAttribute("employee", employee);
return "employeeInfo";
}
Ответы (1 шт):
Нашёл альтернативу, не как у Заурчика.
<c:url var="updateButton" value="http://localhost:8080/spring_course_mvc_hibernate_aop/updateInfo">
<c:param name="empId" value="${emp.id}"/>
</c:url>
Получается, нужно указать полный путь, а не просто /updateInfo. Полный путь можно посмотреть в "Edit Configurations", а там строка URL. После этого заработало.
У вас еще в строке <c:param name="empsId" value="${emp.id}"> </c:param> нужно в конце убрать </c:param>.
Чтобы было <c:param name="empId" value="${emp.id}"/>