1.首先本来这个表格是这样的

s标签s:if和s:set实现一个表格显示为多个表格-LMLPHP

2.这时候代码是这样的

<table  cellpadding="4">
<tr>
<th>指标点</th>
<th>课程</th>
<th>权重</th>
<th>达成情况</th>
</tr>
<s:iterator value="courseweightaccomplishlist">
<tr>
<td><s:property value="pointnumber"/></td>
<td><s:property value="course"/></td>
<td><s:property value="weight"/></td>
<td><s:property value="accomplish"/></td>
</tr>
</s:iterator>
</table>

3.然后我想要将它根据指标点分为多个表格,代码:

<s:set name="ttt" value="2" />
<s:iterator value="new int[4]" status="i">
<s:hidden value="#i.index+1" /> <s:if test="%{#ttt==2}">
<s:set name="ttt" value="1" />
<table class="table" cellpadding="4">
<tr>
<th>指标点</th>
<th>课程</th>
<th>权重</th>
<th>达成情况</th>
</tr>
<s:iterator value="courseweightaccomplishlist">
<s:if test="%{pointnumber.substring(pointnumber.length()-1,pointnumber.length())==#i.index+1}">
<tr>
   <td><s:property value="pointnumber"/></td>
<td><s:property value="course"/></td>
<td><s:property value="weight"/></td>
<td><s:property value="accomplish"/></td>
<s:set name="ttt" value="2" />
</tr>
</s:if>
</s:iterator>
</table>
<s:property value="#ttt"/><s:property value="#i.index"/>
</s:if> </s:iterator>

这样的话会多一个table,去掉它

<script type="text/javascript">
$(".table").last().remove();
</script>

4.这时候结果是这样的

s标签s:if和s:set实现一个表格显示为多个表格-LMLPHP

5.小结

s:iterator就是循环,
s:property用来打印value,
s:if判断,还有s:elseif,
s:set用来定义变量或给变量赋值。
个人见解,不代表权威。
05-02 03:41