我有一些 JSP,我想将其转换为 Thymeleaf:
<c:forEach var="portfolioWork" items="${portfolioWorks}" varStatus="statusVariable">
<c:set var="stylesStr" value="" />
<c:if test="${not empty portfolioWork.getPublicSitePortfolioWorksToTypeRelations()}">
<c:forEach var="wRels" items="${portfolioWork.getPublicSitePortfolioWorksToTypeRelations()}">
<c:set var="stylesStr" value="${stylesStr} type${wRels.getPublicSitePortfolioWorkTypes().getId()} " />
</c:forEach>
</c:if>
<div class="element ${stylesStr} block">
*****************************************
我不明白,如何转换这个复杂的结构:
<c:set var="stylesStr" value="" />
<c:if test="${not empty portfolioWork.getPublicSitePortfolioWorksToTypeRelations()}">
<c:forEach var="wRels" items="${portfolioWork.getPublicSitePortfolioWorksToTypeRelations()}">
<c:set var="stylesStr" value="${stylesStr} type${wRels.getPublicSitePortfolioWorkTypes().getId()} " />
</c:forEach>
</c:if>
最佳答案
从我的角度来看,实现此目的的最佳方法是创建一个自定义 AttrProcessor,它基于“portfolioWorks”变量设置类属性值。所以它看起来像:
<div class="element block" some_scope:appendClass="${portfolioWorks}"></div>
看看:http://www.thymeleaf.org/doc/tutorials/2.1/extendingthymeleaf.html#attribute-processors
我还建议查看 thymeleaf 源代码,有很多不同的 attr 处理器,因此您将能够更快地了解想法。
关于java - 如何将一段 JSP 转换为 Thymeleaf 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28090430/