当前位置: 首页 > 知识库问答 >
问题:

使用C:foreach列表进行jstl迭代

饶骁
2023-03-14

简而言之:在我的JSP中,我需要使用C:Foreach jstl迭代一个自定义bean类列表,比如list,MyClass有键和值变量,以及这些变量的getter和setter

细节:类似这样的内容:

<c:forEach var="myObject" items="${model.pair_list}">
                    <li data-value="${myObject.key}">${myObject.value}</li>
                </c:forEach>

在Java代码中,我有:

List pairlist=new ArrayList();//MyClass是一个简单的bean类,具有变量“key”和“value”,以及相同的getter和setter。//put(“pair_list”,pairlist)在这个列表模型中放置一些值。put(“pair_list”,pairlist);

有什么提示如何让这个工作吗?

共有1个答案

王昊
2023-03-14
    List<MyClass> pairList = new ArrayList<>();

    //assuming key and value are of type String 
    //repeat the following 4 lines as much as needed
    MyClass myClass = new MyClass();
    myClass.setKey("...");
    myClass.setValue("...");
    pairList.add(myClass); 

    //Create an Map as you model and add pairList to it
    Map<String, List<MyClass>> model = new HashMap<>();
    model.put('pair_list', pairList);

    //Now you can add it to request for passing it to JSP/JSTL
    request.setAttribute('model', model);  

那么在JSTL中,它与您在问题中提到的完全相同

    <c:forEach var="myObject" items="${model.pair_list}">
        <li data-value="${myObject.key}">${myObject.value}</li>
    </c:forEach>
 类似资料:
  • 我正在尝试迭代一个列表,并尝试将该值打印为: 但是,只打印列表的大小,而不是在JSTL中定义的。有人帮忙吗?我想打印对象的所有属性。

  • 问题内容: 我正在尝试查找给定字符串的排列,但是我想使用迭代。我在网上找到了递归解决方案,但我确实理解它,但是将其转换为迭代解决方案实际上是行不通的。下面附上我的代码。我非常感谢您的帮助: 问题答案: 在我的相关问题评论之后,这是一个Java实现,可以使用Counting QuickPerm Algorithm 来完成您想要的事情:

  • 问题内容: 我想知道一种优雅的Pythonic方法,可以在Python 3 中并行 地遍历列表列表(或列表的字典)。列表数量要到运行时才知道,所以我相信我不能简单地将它们作为参数提供该功能。 例如,给定以下数据结构: 我希望能够在每次迭代中访问以下值: 其次是依次类推。 大概我可以直接使用列表索引或使用itertools.chain实现此目的,但是我正在寻找使用生成器或其他方法的更优雅的方法。 问

  • 我对RxJava/RxAndroid还不熟悉,但我一直坚持使用我的用例。 我尝试迭代一个

  • 我正在尝试用selenium编写脚本,它将在某些链接上输入每个add,然后单击每个广告页面中的按钮。我很难让脚本决定如何转到一个广告,然后再转到另一个。所讨论的链接是 下面是帖子列表:[![在这里输入图片描述][1][1] 脚本应该输入add,点击reply按钮,然后移动到另一个add。[![enter image description here][2][2]以下是我迄今为止完成的脚本:

  • 问题内容: 我有这样的地图 现在,我必须迭代此Map,然后迭代该地图内的ArrayList。如何使用JSTL做到这一点? 问题答案: 你可以使用标签来遍历数组,集合和映射。 如果是数组和集合,则每次迭代var都会立即为你提供当前迭代的项目。 对于地图,每次迭代var都会为你提供一个Map.Entry对象,该对象又具有getKey()和getValue()方法。 在你的特定情况下,实际上是a Lis