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 知道原因该如何解决?
展开
1个回答
展开全部
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>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询