Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用JSTL打印表中的数组_Arrays_Jsp_Jstl - Fatal编程技术网

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显示蛋白质列表,首先应该有一个蛋白质列表。不是一个字符串数组。不完全工作,但这给了我一些想法!谢谢!