如何将脚本中的JSTL代码改为Thymeleaf并修改对应脚本路径
JSTL替换为Thymeleaf及脚本路径修改方案
基础配置调整
首先在HTML文件的<html>根标签上添加Thymeleaf命名空间,让IDE可识别Thymeleaf语法:
<html xmlns:th="http://www.thymeleaf.org">
常用JSTL标签替换规则
- 变量输出:
JSTL写法:<c:out value="${user.nickname}" />
Thymeleaf替换为:<span th:text="${user.nickname}"></span>,如果需要输出可解析的HTML内容则使用th:utext属性 - 条件判断:
单条件JSTL写法:<c:if test="${order.status == 1}">已付款</c:if>
Thymeleaf替换为:<span th:if="${order.status == 1}">已付款</span>
多分支JSTL的<c:choose>对应Thymeleaf的th:switch+th:case组合语法 - 循环遍历:
JSTL写法:<c:forEach items="${goodsList}" var="goods">
Thymeleaf替换为:<tr th:each="goods : ${goodsList}">
脚本路径修改方法
Thymeleaf使用@{}语法自动处理项目上下文路径,避免相对路径、部署上下文不一致导致的资源加载失败:
- 原JSTL路径写法:
<script src="<c:url value='/js/index.js' />"></script> - Thymeleaf替换为:
<script th:src="@{/js/index.js}"></script>
如果需要支持本地直接打开HTML静态预览,可以同时保留原生src属性写相对路径,Thymeleaf服务端渲染时会自动使用th:src的配置覆盖原生值,不影响两端使用
内容的提问来源于stack exchange,提问作者woojin126
相关产品推荐
相关产品推荐

