解决/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
<link?href="<%=request.getContextPath()%>/css/default.css"?rel="stylesheet"?type="text/css"/> ?
?這個<%=request.getContextPath()%>即為/hh_test(項目名稱),而<%=request.getContextPath()%>/css則相當于用絕對路徑直接定位到了webRoot/css.
二、引入webRoot/js
<script?type="text/javascript"??language="javascript"?src="<%=request.getContextPath()%>/js/jquery-1.4.4.min.js"></script> ?
三、引入webRoot/images
<img?src="<%=request.getContextPath()%>/images/4.gif"??alt="加載外部圖片"?/> ?
------------------------------------------------------------------------------------------------------------------------------------------------------------
為了美觀,也為了方便寫代碼,可以使用el表達式,即把<link?href="<%=request.getContextPath()%>/css/default.css"?rel="stylesheet"?type="text/css"/>
改為<link?href="${pageContext.request.contextPath}/css/default.css"?rel="stylesheet"?type="text/css"/>
轉載于:https://www.cnblogs.com/convict/p/9096481.html
總結
以上是生活随笔為你收集整理的解决/WEB-INF目录下的jsp页面引入webRoot下的Js、css和图片的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IBASE4J开发环境搭建
- 下一篇: java 使用itextpdf分割pdf