jstl 中<c:out ...使用出现的问题

Stringnames[]={"1","2","3"};request.setAttribute("names",names);%><c:forEachitems="${... String names[]={"1","2","3"};
request.setAttribute("names",names);
%>
<c:forEach items="${names}" var="name">
<c:out value="${names}"></c:out>
</c:forEach>
在浏览器中查看,输出不是1,2,3
而是[Ljava.lang.String;@1bde3d2 [Ljava.lang.String;@1bde3d2 [Ljava.lang.String;@1bde3d2
知道原因该如何解决?
展开
 我来答
匿名用户
2013-12-18
展开全部
jstl这是jsp2.0里的,你怎末跑到这里面来问啊。
晕死~~~!!!!!!!!!!

代码改成:
<c:forEach items="${names}" var="name" varStatus="step">
<c:out value="${name[step]}"></c:out>
</c:forEach>

---------------------------------------
<c:forEach>标签的语法定义如下:
<c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression">
</c:forEach>
var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。
items:要进行迭代的集合。
varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。
begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。
end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。
step:迭代的步长。
下面列举了<c:forEach>的两种用法
<table>

<tr>

<th>Name</th>

</tr>

<c:forEach var="item" items="${results }">

<tr>

<td><c:out value="${item.name }" /></td>

</tr>

</c:forEach>
</table>
<table>

<tr>

<th>Name</th>

</tr>

<c:forEach var="i" begin="1" end="10" step="1">

<c:if test="${results[i] ne null }">

<tr>

<td><c:out value="${results[i].name }" /></td>

</tr>

</c:if>

</c:forEach>
</table>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式