java - 如何将一段 JSP 转换为 Thymeleaf 语法​​?

标签 java spring jsp thymeleaf

我有一些 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/

相关文章:

java - Spring Security 使用模型属性来应用角色

java - Assets 目录内的 Dropwizard 服务目录

Spring单例bean生命周期

java - 尝试在Spring MVC Controller 中使用entityManager时出现NullPointerException

javascript - 刷新 tiles 中的 jsp

java - 无法使用 ResetSet.getString 正确获取汉字

java - 如何使用 SPring MVC 在选择输入上发生 onChange 时显示对象的属性

java - KeyListener 不起作用,但 Mousepressed 起作用

java - Aptana Studio 3,内部版本 : 3. 6.1.201410201044 无法在我的新 iMac 上运行

java - Spring 验证: get single (relevent) validation message for multiple constraints