thymeleaf contextPath html javascript


因為可能你開發的contextPath 和生產的 contextPath不同,所以要讓你的項目能自動適應contextPath變化 。

如果你是要在thymeleaf標簽中使用,有種方法可以獲取這個值(實際上幾乎沒有能用到的地方)

1:

${#httpServletRequest.getContextPath()}

2:

${#servletContext.contextPath} 

example:

<script th:src="|${#servletContext.contextPath}/js/index.js|"></script>

如果你沒有配置server.servlet.context-path ,那取出的值將是空字符串。

因為 server.servlet.context-path 的配置要求是 以 / 開始,且不能以 / 結尾。

所以如果你配置了,那取出來的內容 就是 /xxxx 這樣的格式,在實際使用時,下級目錄前要加 / 。

為什么說幾乎沒有能用到的地方, @{} 這個表達式已經可以滿足幾乎全部需求了,比如

th:href 

th:src

th:onclick="|window.location.href='@{/}'|" 

 

 

 

 

如果是在js塊中引用  需要在script 標簽上加     th:inline="javascript"

然后加  CDATA 注釋   然后你的 表達式要用   /*[[  和   ]]*/  圍起來

你可以在一個公共的頁面里把 contextPath 聲明在js變量里,,然后各個頁面就可以引用這個腳本塊。

<script th:inline="javascript">
    /*<![CDATA[*/
    var $contextPath = /*[[@{/}]]*/;
    /*]]>*/
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM