[英]Spring mvc:resources tag understanding
在Spring Petclinic中,以下標記用於靜態內容。
"<mvc:resources mapping="/resources/**" location="/resources/"/> "
但是我在理解這一點時遇到了問題,因為映射和位置是相同的。 那么這個標簽將解決什么目的呢?
“ spring:url value =” / resources / css / petclinic.css“ var =” petclinicCss“”
那么執行mvc:resources標記后轉換后的URL是什么。
<mvc:resources mapping="/resources/**" location="/resources/"/>
這個url模式/resources/**
任何請求,Spring都會尋找/resources/
mapping
是網址格式 location
用法示例,
通過使用JSTL <c:url>
<script type="text/javascript" src="<c:url value="/resources/js/jquery.js" />"></script>
通過使用<spring:url>
<spring:url value="/resources/images/favicon.ico" var="favicon" />
如前所述,“位置”是文件所在的位置,“模式”是用於調用文件的URL。
您將以這個示例理解。 假設我們具有以下WebContent文件夾結構:
-WebContent
-META-INF
-WEB-INF
-assets
-css
*myview.css
-js
-view
*myview.jsp //or html or any kind of view format)
現在,在spring調度器中,我使用如下標記:
<mvc:resources mapping="/resources/**" location="/WEB-INF/assets/" />
然后,在我的“ myview.jsp”中調用“ myview.css”,我必須這樣寫:
<link href="<c:url value="/resources/css/myview.css" />" rel="stylesheet" type="text/css">
實際上,Spring調度程序針對所有以“ / reources /”開頭的網址,用[mapping =“ / resources / **]表示(以“ resources”開頭,而**表示無論結尾如何),它替換了“ / resources /”(由“ / WEB-INF / assets /”(由location =“ / WEB-INF / assets /”配置),然后將其余網址附加到“ / WEB-INF / assets /”以查找位置項目結構中的資源。
我希望現在很清楚
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.