我是 JSTL 的新手。我如何使用 JSTL <c:foreach>
如果我通过下面的示例 bean,则在 jsp 内部
class B{
private String value="";
private ArrayList arrayVals;
public String getvalue(){
return value;
}
public String getarrayVals(){
return arrayVals;
}
}
我只会通过 Bean "B"。我试过如下,但jsp没有编译。请帮我。
<c:forEach items="${B.getarrayVals}" var="book">
<c:out value="{book.title}"/>
</c:forEach>
最佳答案
首先,getarrayVals()
应该拼写 getArrayVals()
,显然它应该返回一个列表,而不是一个字符串。
现在假设 servlet 或 action 设置了类型 B 的属性“b”,如下所示:
request.setAttribute("b", theBInstance);
然后转发到 JSP,您可以像这样访问属性“b”中的列表:
${b.arrayVals}
您必须通过请求属性的名称而不是其类名来引用 B 实例。如果将属性命名为 foo,则使用必须使用
${foo.arrayVals}
.这将简单地打印到列表的 toString。如果要获取列表索引 3 处的元素,可以使用
${b.arrayVals[3]}
如果您想遍历列表元素,请使用 c:forEach 构造:
<c:forEach items="${b.arrayVals}" var="element">
The element value is ${element} <br/>
</c:forEach>
关于jsp - 如果我通过bean,如何访问jsp中的数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5202774/