根据代码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;"> </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;"> </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;"> </span> </td> </tr> <tr> <td style="height:<%=trHeight2%>mm;padding-left:70mm;"> <span class="FontInne LineInne" style="width:12mm;text-align:center;"> </span> <span class="FontBody">年</span><span class="FontInne LineInne" style="width:8mm;text-align:center;"> </span> <span class="FontBody">月</span><span class="FontInne LineInne" style="width:8mm;text-align:center;"> </span> <span class="FontBody">日</span><span class="FontInne LineInne" style="width:8mm;"> </span><span class="FontBody">时</span> <span class="FontInne LineInne" style="width:8mm;text-align:center;"> </span><span class="FontBody">分</span> </td> </tr> <tr> <td style="height:<%=trHeight2%>mm;"> <span class="FontBody"> 被盘问人拒绝签字和捺指印的,应注明原因:</span><span class="FontInne LineInne" style="width:30mm;"> </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;"> </span> </td> </tr> <tr> <td style="height:<%=trHeight2%>mm;padding-left:138mm;"> <span class="FontInne LineInne" style="width:20mm;"> </span> </td> </tr> <tr> <td style="height:<%=trHeight2%>mm;padding-left:96mm;"> <span class="FontBody">记录人(签字):</span><span class="FontInne LineInne" style="width:20mm;"> </span> </td> </tr> <% for(int ii=0;ii<nullLn;ii++){ %> <tr style="height:<%=trHeight2%>mm;"> <td> </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>
要将这段JSP代码转换为Thymeleaf语法,我们需要对代码进行逐步的修改,以符合Thymeleaf的模板语法规则。以下是转换后的代码示例:
首先,确保引入Thymeleaf的命名空间和相关配置。
<%
和 %>
)替换为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.