如何将值从url(取自JSP)传递给Spring MVC中的控制器

时间:2015-07-14 07:17:32

标签: spring jsp model-view-controller

我正在尝试在JSP中创建一个删除按钮来删除数据库中的行。通过单击按钮,我将获得行ID并将其设置在我的URL中,如下所示:

<tr>
	<td><c:out value="${project.projectId}" /></td>
	<td><c:out value="${project.title}" /></td>
	<td><c:out value="${project.domain}" /></td>
	<td><c:out value="${project.lang}" /></td>
	<td><c:out value="${project.author}" /></td>
	<td><c:out value="${project.created}" /></td>
	<td><a href="${pageContext.request.contextPath}/project/edit/${project.projectId}">Edit</a>
    <a href="${pageContext.request.contextPath}/project/delete/${project.projectId}">Delete</a>
	</td>

这是我得到的网址:http://localhost:8080/IRS/project/delete/414

现在414是行ID。此时我想将此ID发送给我的控制器并从那里删除该行。有人可以请帮助我。谢谢

2 个答案:

答案 0 :(得分:1)

此网址可以在控制器中映射如下:

@RequestMapping(value="/project/delete/{projId}")
public String deleteFunction(@PathVariable String projId){

  ...

}

修改 没有关于您的项目的详细信息,回答您的问题有点困难。我正在谈论的信息是:项目文件夹结构,web.xml,应用程序上下文配置,如果您的配置是基于xml或注释。如果你对Spring MVC不是很有经验,我建议你:

  • 仔细阅读this文档
  • 查看thisthis spring项目模板以了解Spring MVC。

肯定是您在控制器映射中的问题。验证您的上下文配置文件(相当于this模板中的/src/main/webapp/WEB-INF/application-servlet.xml)是否有<mvc:annotation-driven/>

答案 1 :(得分:0)

好的,所以感谢Adnriy,我想知道我的xml文件中的SpringDispacher没有将我的url指向正确的Controller。

由于我对xml文件没有足够的了解,我找到了另一种解决方法,但我知道它有点令人毛骨悚然,但它很适合快速修复。

以下是新的HTML:

&#13;
&#13;
<tr>
	<td><c:out value="${project.projectId}" /></td>
	<td><c:out value="${project.title}" /></td>
	<td><c:out value="${project.domain}" /></td>
	<td><c:out value="${project.lang}" /></td>
	<td><c:out value="${project.author}" /></td>
	<td><c:out value="${project.created}" /></td>
	<td><a href="${pageContext.request.contextPath}/project/${project.projectId}/edit.do">Edit</a>
    <a href="${pageContext.request.contextPath}/project/${project.projectId}/delete.do">Delete</a>
	</td>
&#13;
&#13;
&#13;

然后在我的控制器中我使用了这个值:

&#13;
&#13;
@RequestMapping(value="/project/{prjId}/delete.do" ,method = RequestMethod.GET)
public ModelAndView delete(HttpServletRequest request, @PathVariable String prjId) throws IOException{
  ......
  }
&#13;
&#13;
&#13;