我是 JSP 的新手,我正在处理一个令人困惑的问题。我有一个 JSP 表单位于我的网络应用程序(名为“CMS”)中名为“admin”的子文件夹中。
CMS/admin/display_content.jsp
我的表单具有以下 action 和 method 属性值
<form action="/deleteContent" method="POST">
/deleteContent 是名为 DeleteContentServlet 的 servlet 的 URL 模式。它只是从数据库中删除用户选择。无论如何,我的问题是,一旦我点击提交,我发现我的地址栏中的 URL 不正确。而不是得到
http://localhost:8080/CMS/deleteContent
我明白了
http://localhost:8080/deleteContent
我该如何解决这个问题?当我有子文件夹时,这些文件是否仅用于导入? 谢谢。
最佳答案
使用 JSTL <c:url>
所有网址的标记:
- 它将上下文路径(无论它是什么)添加到绝对 URL 之前
如果浏览器不接受 cookie,它会在 URL 中写入 session ID:
<form action="<c:url value='/deleteContent'/>" method="POST">
对于链接,它还允许将参数传递给 URL,并对其进行正确编码(通过 <c:param>
内部标记)。
关于java - 在 JSP 上单击提交后出现错误的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552719/