【发布时间】:2012-08-11 17:58:29
【问题描述】:
有以下jsp页面-
default.jsp下WebContent
EmployeeMenu.jsp下WebContent/MenuPages
selectAccountToRemoveOwner.jsp下WebContent/ActionsPages
我在 servlet 和 jsp 页面之间运行了以下操作 -
首先 - default.jsp -
<html>
<head>
<link rel="stylesheet" href="Styles/Site.css" type="text/css" />
<title>Create new customer</title>
</head>
<body>
</script>
<form action="loginCheckServlet" method="POST">
//form ...
</form>
</body>
</html>
转到 - loginCheckServlet 到 doPost -
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// forward to employee page ..
String addressMenuPage = "MenuPages/"
+"EmployeeMenu.jsp";
RequestDispatcher dispather =
request.getRequestDispatcher(addressMenuPage);
// go to this page ...
dispather.forward(request, response) ;
}
转到 - EmployeeMenu.jsp -
<html>
<head>
</head>
<body>
<a href="ActionsPages/selectAccountToRemoveOwner.jsp">Remove owner from
account</a>
</body>
</html>
转到selectAccountToRemoveOwner.jsp -
<html>
<head>
</head>
<body>
<a href="../MenuPages/EmployeeMenu.jsp">Return to Employee menu</a>
</body>
</html>
返回到 EmployeeMenu.jsp 。
直到这里所有的链接都可以正常工作。但是现在如果我再次点击EmployeeMenu.jsp 中的链接以进入selectAccountToRemoveOwner.jsp,我会得到 -
HTTP Status 404 - /MyBankProject/MenuPages/ActionsPages/selectAccountToRemoveOwner.jsp
--------------------------------------------------------------------------------
type Status report
message /MyBankProject/MenuPages/ActionsPages/selectAccountToRemoveOwner.jsp
description The requested resource (/MyBankProject/MenuPages/ActionsPages/selectAccountToRemoveOwner.jsp) is not available.
请注意,该消息指的是确实不存在的/MenuPages/ActionsPages 位置。似乎从EmployeeMenu.jsp 到selectAccountToRemoveOwner.jsp 的转换并没有改变当前文件夹位置。
【问题讨论】:
-
EmployeeMenu.jsp 将 href 标签更改为你不能使用真实路径而不是相对路径吗?在 JSTL 核心标签的帮助下,像这样的“${pageContext.request.contextPath}”