所以我对如何在我尝试的上下文中正确使用@PathVariable
有点不清楚。让我解释一下。
我有一个带有表格的JSP页面。该表包含数据库中表中的所有记录。一切正常。
在表格底部有按钮。添加,编辑,删除。它们都使用单独的表单,因为我想为每个表单分别使用URL路径/ HTTP方法。
为了实现这一点,我正在使用JQuery,以便当我在表单上点击提交时,它会检索当前所选记录的ID值。所有这些都很完美,而不是我所要求的。
以下是提交行动的表单:
<form:form id="editForm" action="./${courseId}.html" path="courseId" method="get">
<input type="hidden" id="editCourseId" name="courseId"/>
<input class="btn btn-lg btn-default btn-shadow" type="submit"
value="Edit"/>
</form:form>
所以,我想要的是这个表单调用一个带有courseId作为@PathVariable
值的URL。 courseId的值包含在名为courseId的隐藏输入字段中。同样,该输入字段的值是由JQuery代码设置的,我已经测试了它,它似乎工作得很好。
我想要的是使用courseId作为@PathVariable
,并让它在以下控制器方法中工作:
@RequestMapping (value="/{courseId}", method=RequestMethod.GET)
public String editCourse(Model model,
@PathVariable ("courseId") String courseId){
System.out.println("CourseID: " + courseId);
return "course-form";
}
显然,该方法仍处于早期阶段,只是试图确认其有效。
那么,我该怎样做才能实现这一目标?同样,我想在URL中传递courseId的值,作为RESTful样式URL命令,将其用作@PathVariable
。我该怎么做?
非常感谢。
答案 0 :(得分:0)
您可以获得非常明确的解释here
@RequestMapping (path="/{courseId}", method=RequestMethod.GET)
public String editCourse(Model model,
@PathVariable String courseId){
System.out.println("CourseID: " + courseId);
return "course-form";
}