当前位置: 首页 > 知识库问答 >
问题:

前端 - jsp循环如何转成Thymeleaf语法?

阎善
2024-04-07

<%=bgnr.get(Cll).replaceAll("trHeight",String.valueOf(trHeight))+"\r\n" %>这是什么意思?我想把它jsp转成Thymeleaf语法

<table class="TableBody">                            <% for(int pii=0;pii<wpcount;pii++){//中间页               for(int ii=0;ii<lnum;ii++){             %><%=bgnr.get(Cll).replaceAll("trHeight",String.valueOf(trHeight))+"\r\n" %>              <%                   Cll++;                } %>         <tr><td style="height:<%=trHeight%>mm;padding-left:70mm;">           <span class="FontBody">被盘问人(签字或捺指印):</span><span class="FontInne LineInne" style="width:20mm;">&nbsp;</span>          </td></tr>           <tr><td style="height:<%=trHeight%>mm;padding-left:106mm;">           <span class="FontBody">第</span><span class="FontInne LineInne" style="width:14mm;text-align:center;"><%=pii+3 %></span><span class="FontBody">页共</span><span class="FontInne LineInne" style="width:14mm;text-align:center;"><%=pcount %></span><span class="FontBody">页</span>          </td></tr>        </table>      </div>

共有1个答案

江光明
2024-04-07

在JSP中,<%= ... %> 是用于输出表达式的脚本片段。在Thymeleaf中,你可以使用 ${...} 来替换这些表达式。

你的JSP代码片段中包含一些复杂的逻辑,包括循环和字符串操作。以下是一个将这段JSP代码转换为Thymeleaf语法的示例:

<table class="TableBody">    <tr th:each="pIndex : ${#numbers.sequence(0, wpcount-1)}">        <tr th:each="iIndex : ${#numbers.sequence(0, lnum-1)}">            <td th:utext="${bgnr.get(Cll).replaceAll('trHeight', trHeight.toString())}"></td>        </tr>        <tr>            <td style="height:[[${trHeight}]]mm;padding-left:70mm;">                <span class="FontBody">被盘问人(签字或捺指印):</span>                <span class="FontInne LineInne" style="width:20mm;">&nbsp;</span>            </td>        </tr>        <tr>            <td style="height:[[${trHeight}]]mm;padding-left:106mm;">                <span class="FontBody">第</span>                <span class="FontInne LineInne" style="width:14mm;text-align:center;">[[${pii+3}]]</span>                <span class="FontBody">页共</span>                <span class="FontInne LineInne" style="width:14mm;text-align:center;">[[${pcount}]]</span>                <span class="FontBody">页</span>            </td>        </tr>    </tr></table>

这个转换过程中做了以下更改:

  1. 使用Thymeleaf的 th:each 指令来替换JSP的 <% for %> 循环。
  2. 使用 th:utext 指令来输出经过替换操作的字符串。
  3. 使用 [[ ... ]] 语法来在Thymeleaf中输出表达式的值。

请注意,这个转换假设 bgnr 是一个在Thymeleaf上下文中可用的变量,ClltrHeightwpcountlnumpiipcount 也是如此。如果它们不是,你可能需要将它们作为参数传递给模板或者将它们添加到Thymeleaf的上下文中。

另外,由于Thymeleaf不支持直接在CSS样式中使用表达式,因此我使用了 [[ ... ]] 语法来在样式属性中输出 trHeight 的值。你可能需要根据你的实际需求调整这部分代码。

 类似资料: