我将名为dataTable的属性传递给我的JSP,这是一个字符串列表列表.在JSP中如果我输出属性,使用$ {dataTable}它以原始格式打印出来:
[[Header1, Header2, Header3], [A, B, C], [1, 2, 3]]
Run Code Online (Sandbox Code Playgroud)
我可以像这样直接打印一个项目:
${dataTable[1][2]}
Run Code Online (Sandbox Code Playgroud)
输出:C
然后,当我编写嵌套的c:forEach循环来打印表时,每行末尾的方括号都包含在内,但不包括整个对象上的方括号.
我的代码是:
<c:forEach var="row" items="${dataTable}">
<c:forEach var="item" items="${row} ">
<span>${item}</span>
</c:forEach>
<br />
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
结果如下:
<span>[Header1</span>
<span> Header2</span>
<span> Header3] </span>
<br />
<span>[A</span>
<span> B</span>
<span> C] </span>
<br />
<span>[1</span>
<span> 2</span>
<span> 3] </span>
<br />
Run Code Online (Sandbox Code Playgroud)
这几乎就是我想要的,我只是不希望每行的开头和结尾都有方括号.
我错过了什么导致这些方括号在迭代时出现,但是当我直接访问项目时却没有?
谢谢!
之后有一个额外的空格,${row}导致列表在这一行上变为“toStringed” <c:forEach var="item" items="${row} ">,将其更改为<c:forEach var="item" items="${row}">,然后就可以开始了。