Arrays 使用JSTL打印表中的数组
这是我拥有的阵列的一个示例:Arrays 使用JSTL打印表中的数组,arrays,jsp,jstl,Arrays,Jsp,Jstl,这是我拥有的阵列的一个示例: String[]dataName={“基因名”、“启动子名”、“来源”、“年份”、“作者”}; String[]proteinList={“protein01”、“AOX”、“Yarrowia”、“2006”、“John Doe”、“protein02”、“pGAP”、“智人”、“1997”、“John Smith”}; 实际数组最多可以包含30个值 数据的显示应如下表所示: |基因名|启动子名|来源|年份|作者| |protein01 | AOX | Yarro
String[]dataName={“基因名”、“启动子名”、“来源”、“年份”、“作者”};
String[]proteinList={“protein01”、“AOX”、“Yarrowia”、“2006”、“John Doe”、“protein02”、“pGAP”、“智人”、“1997”、“John Smith”};
实际数组最多可以包含30个值
数据的显示应如下表所示:
|基因名|启动子名|来源|年份|作者|
|protein01 | AOX | Yarrowia | 2006 | John Doe|
|蛋白质02 | pGAP |智人| 1997 |约翰·史密斯|
但我得到的结果是:
|基因名|启动子名|来源|年份|作者|
|protein01 | AOX | Yarrowia | 2006 | John Doe | protein02 | pGAP |人类| 1997 | John Smith|
在JSTL中,我是这样写的:
是否有任何方法可以使用循环,以便proteinList[]
将循环到新行中的proteinList[5]
非常感谢您的帮助。像这样尝试,在索引到达第5个元素时插入tr标记:
<tr>
<c:forEach items="${dataName}" var="namedata">
<td class="body" valign="top" align="left"><b><c:out value="${namedata}"/></b></td>
</c:forEach>
</tr>
<c:forEach items="${proteinList}" var="result" varStatus="proteinCount">
<c:if test=((proteinCount.count+1)/5)=0>
<tr>
</c:if>
<td class="datafield" valign="top"><c:out value="${result}"/></td>
<c:if test=((proteinCount.count+1)/5)=0>
</tr>
</c:if>
</c:forEach>
实际上,视图不应该处理此类问题。创建一个蛋白质类,并向JSP提供一个列表。使用适当的对象将使代码更清晰、更简单。将多个不同对象的属性作为字符串(有些应该是整数)存储在一个数组中是一种糟糕的设计。@jbniset但是proteinList[]
数组实际上来自一个查询,因此我无法将整数从列表中分离出来。是的,您可以。查询应返回一个列表。如果您需要有关如何从查询返回列表的帮助,请发布您的代码。使用
迭代如何?您将使用c:forEach。但是要使用c:forEach显示蛋白质列表,首先应该有一个蛋白质列表。不是一个字符串数组。不完全工作,但这给了我一些想法!谢谢!