如果我传递bean,如何访问jsp中的数组列表
我是 JSTL 的新手。如果我传递下面的示例 bean,我如何在 jsp 中使用 JSTL
,
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>
I am new to JSTL. How can i use JSTL <c:foreach>
inside jsp if i pass below sample bean
class B{
private String value="";
private ArrayList arrayVals;
public String getvalue(){
return value;
}
public String getarrayVals(){
return arrayVals;
}
}
I will pass Bean "B" only. I tried like below, but jsp not compiled. Please help me.
<c:forEach items="${B.getarrayVals}" var="book">
<c:out value="{book.title}"/>
</c:forEach>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,
getarrayVals()
应该拼写为getArrayVals()
,并且显然它应该返回一个 List,而不是 String。现在假设servlet或action设置了类型B的属性“b”,如下所示:
然后转发到JSP,您可以像这样访问属性“b”中的列表:
您必须通过名称引用B实例请求属性,而不是其类名。如果将属性命名为 foo,则必须使用
${foo.arrayVals}
。这将简单地打印到列表的 toString。如果要获取列表索引 3 处的元素,可以使用
如果要迭代列表元素,请使用 c:forEach 构造:
First of all,
getarrayVals()
should be speltgetArrayVals()
, and it should return a List, not a String, obviously.Now suppose the servlet or action sets an attribute "b" of type B like this :
and then forwards to a JSP, you can access the list in the attribute "b" like this:
You must refer to the B instance by the name of the request attribute, not by its class name. If you name the attribute foo, then use must use
${foo.arrayVals}
.This will simply print to toString of the list. If you want to get the element at index 3 of the list, you can use
And if you want to iterate over the list elements, use the c:forEach construct: