我正在尝试在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发送给我的控制器并从那里删除该行。有人可以请帮助我。谢谢
答案 0 :(得分:1)
此网址可以在控制器中映射如下:
@RequestMapping(value="/project/delete/{projId}")
public String deleteFunction(@PathVariable String projId){
...
}
修改强> 没有关于您的项目的详细信息,回答您的问题有点困难。我正在谈论的信息是:项目文件夹结构,web.xml,应用程序上下文配置,如果您的配置是基于xml或注释。如果你对Spring MVC不是很有经验,我建议你:
肯定是您在控制器映射中的问题。验证您的上下文配置文件(相当于this模板中的/src/main/webapp/WEB-INF/application-servlet.xml
)是否有<mvc:annotation-driven/>
答案 1 :(得分:0)
好的,所以感谢Adnriy,我想知道我的xml文件中的SpringDispacher没有将我的url指向正确的Controller。
由于我对xml文件没有足够的了解,我找到了另一种解决方法,但我知道它有点令人毛骨悚然,但它很适合快速修复。
以下是新的HTML:
<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;
然后在我的控制器中我使用了这个值:
@RequestMapping(value="/project/{prjId}/delete.do" ,method = RequestMethod.GET)
public ModelAndView delete(HttpServletRequest request, @PathVariable String prjId) throws IOException{
......
}
&#13;