如果我传递bean,如何访问jsp中的数组列表

发布于 2024-10-20 10:31:51 字数 499 浏览 1 评论 0原文

我是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清晰传感 2024-10-27 10:31:51

首先,getarrayVals() 应该拼写为 getArrayVals(),并且显然它应该返回一个 List,而不是 String。

现在假设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>

First of all, getarrayVals() should be spelt getArrayVals(), 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 :

request.setAttribute("b", theBInstance);

and then forwards to a JSP, you can access the list in the attribute "b" like this:

${b.arrayVals}

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

${b.arrayVals[3]}

And if you want to iterate over the list elements, use the c:forEach construct:

<c:forEach items="${b.arrayVals}" var="element">
    The element value is ${element} <br/>
</c:forEach>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文