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

javascript - 有三个循环,需要使用上面的变量,如何将jsp代码转换成thymeleaf语法?

水麒
2024-04-07

根据代码1的数据,使用thymeleaf语法进行循环,感觉太难了。
代码1

 blnr_str=wsobject.getBiluneirong().trim().replaceAll("[\r\n]+", "" );                          blnr_str=blnr_str.replaceAll("[  ]+", "" ); blnr_str=blnr_str.replaceAll("问:", "\r\n  问:" );                          blnr_str=blnr_str.replaceAll("问:", "\r\n  问:" ); blnr_str=blnr_str.replaceAll("答:", "\r\n  答:"                          ); blnr_str=blnr_str.replaceAll("答:", "\r\n  答:" ); List<String>                          nr=PrintCommon.toPrtLine(blnr_str, 37, 37, 1);                          int nr_ln=nr.size();                          List<String> bgnr=new ArrayList<String>();                              for(int ii=0;ii<nr_ln;ii++){ bgnr.add("<tr style=\"height:trHeightmm;\">                                <td class=\"FontInne LineInne\">"+ nr.get(ii)+"</td>                                </tr>");                                }                                int bgnr_ln=bgnr.size();                                float trHeight=9.0f;                                float trHeight1=9.0f; //第二页行高                                float trHeight2=9.0f; //最后一页行高                                int pcount=2;//总页数                                int wpcount=0;//                                int flnum=0;//第二页行数                                int lnum=25;//中间也行数 固定                                int elnum=0;//最后一页行数                                int nullLn=0;//最后一页空行数                                int Cll=0;                                int Lln=0;                                if(bgnr_ln<=23){ //仅一页17 flnum=bgnr_ln; if(bgnr_ln<=17){ nullLn=17-bgnr_ln; }else{                                  trHeight1=244.0f/(bgnr_ln+10); // if(trHeight1>7.6f) trHeight1=7.6f;                                  trHeight2=trHeight1;                                  }                                  }else{                                  wpcount=(bgnr_ln-23)/lnum;                                  pcount=pcount+wpcount+1;                                  Lln=(bgnr_ln-23)%lnum;                                  if(Lln==0){                                  flnum=23;                                  elnum=25;                                  pcount--;                                  wpcount--;                                  trHeight2=7.4f;                                  // trHeight2=trHeight1;                                  }else{                                  flnum=23;                                  elnum=Lln;                                  nullLn=27-Lln-8;                                  trHeight2=244.0f/(Lln+8);                                  if(trHeight2>9.0f) trHeight2=9.0f;                                  }                                  }                                  %>

页面代码

 <table class="TableBody">                                        <tr>                                          <td style="height:<%=trHeight1%>mm;">                                            <span class="FontBody"><span                                                style="text-decoration:${(wenshuleibie=='9004')?'line-through':'none'};">况等)</span><span                                                style="text-decoration:line-through;">/</span><span                                                style="text-decoration:${(wenshuleibie=='9001')?'line-through':'none'};">继续盘问内容记录如下(包括被盘问人的家庭情况、主要经</span></span>                                          </td>                                        </tr>                                        <tr>                                          <td style="height:<%=trHeight1%>mm;">                                            <span class="FontBody"><span                                                style="text-decoration:${(wenshuleibie=='9001')?'line-through':'none'};">历、有无前科及继续盘问情况)</span>:</span>                                          </td>                                        </tr>                                        <% //第二页 for(int ii=0;ii<flnum;ii++){ %>                                          <%=bgnr.get(ii).replaceAll("trHeight",String.valueOf(trHeight1))+"\r\n" %>                                            <%} Cll=flnum; if(elnum!=0){ %>                                              <tr>                                                <td style="height:<%=trHeight1%>mm;padding-left:70mm;">                                                  <span class="FontBody">被盘问人(签字或捺指印):</span><span                                                    class="FontInne LineInne" style="width:20mm;">&nbsp;</span>                                                </td>                                              </tr>                                              <tr>                                                <td style="height:<%=trHeight1%>mm;padding-left:106mm;">                                                  <span class="FontBody">第</span><span class="FontInne LineInne"                                                    style="width:14mm;text-align:center;">2</span><span                                                    class="FontBody">页共</span><span class="FontInne LineInne"                                                    style="width:14mm;text-align:center;">                                                    <%=pcount %>                                                  </span><span class="FontBody">页</span>                                                </td>                                              </tr>                                      </table>

页面代码2

 <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>

页面代码3

<table class="TableBody">                                        <%} for(int ii=0;ii<elnum;ii++){ %>                                          <%=bgnr.get(Cll).replaceAll("trHeight",String.valueOf(trHeight2))+"\r\n" %>                                            <% Cll++; } %>                                              <% }%>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;">                                                    <span class="FontBody">  以上记录我已看过(或已向我宣读过),与我讲的一样。</span>                                                  </td>                                                </tr>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;padding-left:70mm;">                                                    <span class="FontBody">被盘问人(签字或捺指印):</span><span                                                      class="FontInne LineInne" style="width:20mm;">&nbsp;</span>                                                  </td>                                                </tr>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;padding-left:70mm;">                                                    <span class="FontInne LineInne"                                                      style="width:12mm;text-align:center;">&nbsp;</span>                                                    <span class="FontBody">年</span><span class="FontInne LineInne"                                                      style="width:8mm;text-align:center;">&nbsp;</span>                                                    <span class="FontBody">月</span><span class="FontInne LineInne"                                                      style="width:8mm;text-align:center;">&nbsp;</span>                                                    <span class="FontBody">日</span><span class="FontInne LineInne"                                                      style="width:8mm;">&nbsp;</span><span class="FontBody">时</span>                                                    <span class="FontInne LineInne"                                                      style="width:8mm;text-align:center;">&nbsp;</span><span                                                      class="FontBody">分</span>                                                  </td>                                                </tr>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;">                                                    <span class="FontBody">  被盘问人拒绝签字和捺指印的,应注明原因:</span><span                                                      class="FontInne LineInne" style="width:30mm;">&nbsp;</span>                                                  </td>                                                </tr>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;padding-left:46mm;">                                                    <span class="FontBody"><span                                                        style="text-decoration:${(wenshuleibie=='9004')?'line-through':'none'};">当场盘问、检查</span><span                                                        style="text-decoration:line-through ;">/</span><span                                                        style="text-decoration:${(wenshuleibie=='9001')?'line-through':'none'};">继续盘问</span>人(签字):</span><span                                                      class="FontInne LineInne" style="width:20mm;">&nbsp;</span>                                                  </td>                                                </tr>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;padding-left:138mm;">                                                    <span class="FontInne LineInne"                                                      style="width:20mm;">&nbsp;&nbsp;&nbsp;</span>                                                  </td>                                                </tr>                                                <tr>                                                  <td style="height:<%=trHeight2%>mm;padding-left:96mm;">                                                    <span class="FontBody">记录人(签字):</span><span                                                      class="FontInne LineInne" style="width:20mm;">&nbsp;</span>                                                  </td>                                                </tr>                                                <% for(int ii=0;ii<nullLn;ii++){ %>                                                  <tr style="height:<%=trHeight2%>mm;">                                                    <td> &nbsp;</td>                                                  </tr>                                                  <%} %>                                                    <tr>                                                      <td style="height:<%=trHeight2%>mm;padding-left:106mm;">                                                        <span class="FontBody">第</span><span class="FontInne LineInne"                                                          style="width:14mm;text-align:center;">                                                          <%=pcount %>                                                        </span><span class="FontBody">页共</span><span                                                          class="FontInne LineInne"                                                          style="width:14mm;text-align:center;">                                                          <%=pcount %>                                                        </span><span class="FontBody">页</span>                                                      </td>                                                    </tr>                                      </table>

共有1个答案

颜哲彦
2024-04-07

要将这段JSP代码转换为Thymeleaf语法,我们需要对代码进行逐步的修改,以符合Thymeleaf的模板语法规则。以下是转换后的代码示例:

首先,确保引入Thymeleaf的命名空间和相关配置。

  1. 将JSP的脚本标签(<%%>)替换为Thymeleaf的语法。
  2. 使用Thymeleaf的内置表达式语言(如 ${})来处理变量和表达式。
  3. 替换JSP的循环和条件语句为Thymeleaf的相应语法。

转换后的代码可能如下所示:

<table class="TableBody">    <tr th:each="item : ${bgnr}" th:style="'height:' + ${trHeight1} + 'mm;'">        <td>            <span class="FontBody" th:text="${item.replace('trHeight', trHeight1)}"></span>        </td>    </tr>    <!-- 其他表格行和数据 --></table><table class="TableBody">    <tr th:each="item, stat : ${bgnr}" th:if="${stat.index < wpcount * lnum}" th:style="'height:' + ${trHeight} + 'mm;'">        <td>            <span class="FontBody" th:text="${item.replace('trHeight', trHeight)}"></span>        </td>    </tr>    <!-- 中间页的其他表格行和数据 --></table><table class="TableBody">    <tr th:each="item, stat : ${bgnr}" th:if="${stat.index >= wpcount * lnum}" th:style="'height:' + ${trHeight2} + 'mm;'">        <td>            <span class="FontBody" th:text="${item.replace('trHeight', trHeight2)}"></span>        </td>    </tr>    <!-- 最后页的其他表格行和数据 --></table>

请注意,这里使用了Thymeleaf的th:each指令来遍历列表,th:style来设置样式,th:text来设置文本内容,以及th:if来进行条件判断。变量和表达式使用${}包裹。

这只是一个基本的转换示例,你可能需要根据你的具体需求进行进一步的调整和优化。同时,确保你的项目中已经正确配置了Thymeleaf,并且相关的Thymeleaf库已经被添加到项目中。

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

  • 问题内容: 我的朋友正在尝试将某种计算作为上课的一项任务,但他遇到了一些麻烦…希望您能为他提供帮助。 问题在于他从用户那里得到了一个int的输入(这必须是任务的一部分)。他正在尝试在下面的代码中将其转换为double,但这是行不通的。无论如何结果都是int。 如果您需要更多说明,我会请他提供。提前致谢! 问题答案: 您必须将一个(或两个)参数传递给除法运算符: 由于您两次执行相同的计算,因此建议您

  • 由于我是一个完全的编程新手,我需要你的建议,关于我需要完成的在线课程的编码练习。 以下是说明: (在我提交代码后这些将被更改,所以这只是一个示例) 以上是三个值。运行while循环,直到所有三个值都小于或等于0。每次更改这三个变量的值时,请在同一行上打印它们的新值,并用单个空格分隔。例如,如果其值分别为3、4和5,则代码将打印: 2 3 4 1 2 3 0 1 2 -1 0 1 -2-1 0 我试

  • 我已经开始学习JavaScript,我试图制作一个加载条的动画,但我不知道如何使它在条到达终点后重复这个功能,我想也许通过一个循环我可以得到我想要的结果,但我仍然在学习循环,我尝试了不同的方法,改变了整个代码,但没有任何效果。 有人能帮我吗?谢谢你抽出时间。

  • 问题内容: 我在这个项目中使用Rhino的javax.scripting。 我有一个Java方法可返回Java对象(Double,Long,Integer等)。我想从javascript调用该方法,并将结果作为Javascript基本类型引用。但是,javacript会将返回类型识别为Object。 如何强制将其转换为JavaScript原语? 这个问题与http://groups.google.