关于我较早的未回答的问题,我还有一个与其部分相关的错误/问题。
generic linking, variables and paths in jsp
当我像这样包含我的header.jsp时:
<%@include file="/WEB-INF/view/jsp/common/header.jsp" %>
工作正常。
但是如果我这样做的话不会这样:
<%@include file="${pageContext.request.contextPath}/view/jsp/common/header.jsp" %>
错误:
HTTP Status 500 - /WEB-INF/view/jsp/common/login/login.jsp (line: 8, column: 1) File "${pageContext.request.contextPath}/view/jsp/common/header.jsp" not found
上面的$ {}是一种正确的方式,这就是我过去一直在做的事情,直到我开始使用弹簧和弹簧安全。
但我不认为它是弹簧或弹簧安全的问题。
我真的不明白为什么WEB-INF
有一个重量和
如何使我的链接通用(参考我陈述的旧问题)
答案 0 :(得分:3)
实际上,在这种情况下,这不是正确的方法。上下文路径不用于在应用程序内部创建路径,如本例所示。相反,它用于在视图层中生成URL,例如链接,表单URL等。
在这种情况下,以下是正确的:
<%@include file="/WEB-INF/view/jsp/common/header.jsp" %>
上面的include行是指在war文件中打包的资源。在servlet容器中配置的上下文路径如何与战争中打包的东西的位置有关?
总结一下,您只需要使用${pageContext.request.contextPath}
为将要输出到客户端的URL添加前缀。