900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 解决/WEB-INF目录下的jsp页面引入webRoot下的Js css和图片的问题

解决/WEB-INF目录下的jsp页面引入webRoot下的Js css和图片的问题

时间:2021-10-04 20:58:38

相关推荐

解决/WEB-INF目录下的jsp页面引入webRoot下的Js css和图片的问题

通常把jsp页面放在webRoot的/WEB-INF下可以防止访问者直接输入页面。

而webRoot的/WEB-INF下的页面是受保护的,用户无法通过形如http://localhost:8080/test/webRoot/WEB-INF/content/xx.jsp来访问,他们的访问都必须透过struts处理请求才能达到。

然而,当把页面放在/web-inf下面时,JSP页面还是避免不了跟“外部”的js,css,图片“交互”,因为需要引入一些webRoot/css, webRoot/js, webRoot/images,而此时很容易引入失败,一般来说,此时用相对路径行不通了,所以必须使用绝对路径!下面一一总结。

一、引入webRoot/css

<linkhref="<%=request.getContextPath()%>/css/default.css"rel="stylesheet"type="text/css"/>

这个<%=request.getContextPath()%>即为/hh_test(项目名称),而<%=request.getContextPath()%>/css则相当于用绝对路径直接定位到了webRoot/css.

二、引入webRoot/js

<scripttype="text/javascript"language="javascript"src="<%=request.getContextPath()%>/js/jquery-1.4.4.min.js"></script>

三、引入webRoot/images

<imgsrc="<%=request.getContextPath()%>/images/4.gif"alt="加载外部图片"/>

------------------------------------------------------------------------------------------------------------------------------------------------------------

为了美观,也为了方便写代码,可以使用el表达式,即把<linkhref="<%=request.getContextPath()%>/css/default.css"rel="stylesheet"type="text/css"/>

改为<linkhref="${pageContext.request.contextPath}/css/default.css"rel="stylesheet"type="text/css"/>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。