網頁

2021/6/11

Thymeleaf 取得專案路徑 get context path

Thymeleaf取得context path(專案路徑)的方法如下。


在template html標籤的th:*屬性使用@{/}

<a th:href="@{/}">context root</a>

在template的<script>使用行內表示式[[@{/}]]取得。

<script th:inline="javascript">// enable JavaScript inlining
    const contextPath = /*[[@{/}]]*/''
    console.log(contextPath)
</script>

相當於JSP用EL ${pageContext.request.contextPath}取得context path。


可以把上面的敘述放在共用的<head>...</head>模板片段並include或insert到其他的模板,這樣每個模板的JavaScript即可取contextPath的值。

head.html

<head xmlns:th="http://www.thymeleaf.org">
    <!-- common settings like <meta>, <link> to css, <script> to js library -->
    <script th:inline="javascript">
        const contextPath = /*[[@{/}]]*/''
    </script>
</head>

main.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<th:block th:insert="~{/../head}"></th:block><!-- insert head.html fragment -->
<script inline="javascript">
    console.log(contextPath) // contextPath is from head.html
</script>
<body>
    ...
</body>
</html>


沒有留言:

張貼留言