我在JSP文件中创建了一个表格,如下所示:
<table style="width: 832px;" >
<tr>
<td style="width: 45px;text-align: left;" align="left"><%=episodeDate %></td>
<td style="width: 7px;"> </td>
<td style="width: 257px;text-align: left;" ><%=careprovidername %></td>
<td style="width: 7px;"> </td>
<td style="width: 260px;text-align: left;" ><%=docatorname %></td>
<td style="width: 6px;"> </td>
<td style="width: 250px;text-align: left;"><%=purposeType %></td>
</tr>
</table>
但我得到的是显示在下图中。
我的问题是第5和第7个td数据没有很好地对齐。这段代码有什么问题?
答案 0 :(得分:1)
在JSP中,您应该在一个表中循环。通过您的代码,您似乎可以在可见代码之外重新设置变量的值。如果是这样,您将生成多个1行表。然后修复将你的java变量设置在&lt;表&gt; ......&lt; / table&gt;标签,为每个java对象创建新的TR和TD。
使用单个表格,您的TD应该按照您的意愿对齐。
<table style="width: 832px;" >
<%
MyObject o; // which has those variables
for (int i=0; i<array_size; ++i){
o = array[i]; %>
<tr>
<td style="width: 45px;text-align: left;" align="left"><%= o.getEpisodeDate() %></td>
<td style="width: 7px;"> </td>
<td style="width: 257px;text-align: left;" ><%= o.getCareproviderName() %></td>
<td style="width: 7px;"> </td>
<td style="width: 260px;text-align: left;" ><%= o.getDocatorName() %></td>
<td style="width: 6px;"> </td>
<td style="width: 250px;text-align: left;"><%= o.getPurposeType() %></td>
</tr>
<% } %>
</table>
这里的想法是:
<table>
<tr> <td></td>*7 </tr>
<tr> <td></td>*7 </tr>
<tr> <td></td>*7 </tr>
<tr> <td></td>*7 </tr>
<tr> <td></td>*7 </tr>
<tr> <td></td>*7 </tr>
</table>
因此,设置java变量值的循环必须位于&lt;表&gt; ......&lt; /表&gt;标签,而不是之前。
答案 1 :(得分:0)
感谢Gintas K's comment,我通过向table-layout: fixed;
的样式添加<table>
来解决了这个问题。