我希望在welcomePage.jsp页面上引用其他jsp页面 - loginPage.jsp和registerPage.jsp。我试着用这样的简单:
<head>
<title>${title}</title>
</head>
<body>
<jsp:include page="header.jsp"/>
<jsp:include page="_menu.jsp" />
<h1>Welcome to the page!</h1>
<a href="registerPage.jsp">Register</a>
<p>or</p>
<a href="loginPage.jsp">Log In</a>
<p>if you already have an account</p>
<jsp:include page="footer.jsp"/>
</body>
</html>
但我一直收到HTTP状态404请求的资源不可用。
我也尝试了但是因此我引用的页面的内容也只是显示在这个welcomePage上。虽然我需要它们只能通过链接访问。 所有提到的文件都位于WEB-INF / pages中。 这是我的第一个使用Spring MVC的项目,所以欢迎任何帮助。
答案 0 :(得分:2)
Suppose, in your configuration, you have set the location of views e.g. /WEB-INF/view/
where you put all of your .jsp files - loginpage.jsp, registerPage.jsp
etc. Now, you can simply access the location of view i.e. /WEB-INF/view/
via pageContext.servletContext.contextPath
.
//For example
href="${pageContext.servletContext.contextPath}/loginpage"
答案 1 :(得分:0)
我建议你首先去控制器,而不是在这个控制器中调用ModelAndView。这也使JSP文件之间的关系保持清晰。
要应用此功能,您的控制器类应如下所示:
@Controller
public class LoginPageController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public ModelAndView printLoginPage() {
ModelAndView modelAndView = new ModelAndView("loginPage");
return modelAndView;
}
}
您还可以通过控制器方法将参数从JSP页面传递到另一个页面。