thymeleaf contextPath html javascript

由于可能你开发的contextPath 和生产的 contextPath不一样,因此要让你的项目能自动适应contextPath变化 。javascript

若是你是要在thymeleaf标签中使用,有种方法能够获取这个值(实际上几乎没有能用到的地方)java

1:spa

${#httpServletRequest.getContextPath()}

2:code

${#servletContext.contextPath} 

example:server

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

若是你没有配置server.servlet.context-path ,那取出的值将是空字符串。blog

由于 server.servlet.context-path 的配置要求是 以 / 开始,且不能以 / 结尾。ip

因此若是你配置了,那取出来的内容 就是 /xxxx 这样的格式,在实际使用时,下级目录前要加 / 。开发

为何说几乎没有能用到的地方, @{} 这个表达式已经能够知足几乎所有需求了,好比字符串

th:href get

th:src

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

 

 

 

 

若是是在js块中引用  须要在script 标签上加     th:inline="javascript"

而后加  CDATA 注释   而后你的 表达式要用   /*[[  和   ]]*/  围起来

你能够在一个公共的页面里把 contextPath 声明在js变量里,,而后各个页面就能够引用这个脚本块。

<script th:inline="javascript">
    /*<![CDATA[*/
    var $contextPath = /*[[@{/}]]*/;
    /*]]>*/
</script>
相关文章
相关标签/搜索