我在从一个JSP文件转发到另一个JSP文件时遇到了一些问题。
一开始我在adminSuccess.jsp
,我想转到adminPage.jsp
。
已更新 - 以下是项目的层次结构树:
这是 adminSuccess.jsp :
的代码<!DOCTYPE html>
<html>
<head><title>System Administrator Page</title>
<link rel="stylesheet"
href="./css/styles.css"
type="text/css"/>
</head>
<body>
<h1>Hello ${name.firstName} ${name.lastName} , You've logged in successfully!</h1>
<h1>
Please choose one of the following options
</h1>
<fieldset>
<legend>Add a new manager to the bank system</legend>
<form action="adminAdds1">
<a href="results/adminAddNewManager.jsp">Press here to continue</a>
</form>
</fieldset>
<fieldset>
<legend>Add a new employee to the bank system</legend>
<form action="adminAdds2">
<a href="results/adminAddNewEmployee.jsp">Press here to continue</a>
</form>
</fieldset>
</body></html>
OUT:
HTTP Status 404 - /WebBank/results/adminAddNewManager.jsp
--------------------------------------------------------------------------------
type Status report
message /WebBank/results/adminAddNewManager.jsp
description The requested resource (/WebBank/results/adminAddNewManager.jsp) is not available.
显然,一个jsp看不到另一个,所以如何解决这个问题,而不需要从jsp文件中取出一个jsp文件,因为它需要更改很多其他代码。
问候
答案 0 :(得分:3)
如果要访问需要从servlet或JSP转发请求的资源,WEB-INF下的资源不是可公开访问的资源
request.getRequestDispatcher("/WEB-INF/results/adminPage.jsp").forward(request, response);
答案 1 :(得分:2)
将JSP文件移出WEB-INF。
问题不在于一个JSP文件无法“看到”另一个 - 您有一个链接包含无法通过Web浏览器直接访问的资源(即JSP文件)的URL(作为WEB中的资源)无法以这种方式访问INF。)
答案 2 :(得分:0)
你的代码中有好的工作和糟糕的工作。
您将JSP放在/WEB-INF/
中,这在Model-2应用程序中是好事,它阻止了对JSP的直接访问。
但是你试图从另一个视图访问JSP而不访问Servlet,这不是那么好,而且它是Model-1(不适合大型应用程序)。