• JSP页面嵌套c:forEach


    做java web项目有时候会需要在页面使用嵌套<c:forEach>遍历一个List,但是嵌套很容易忽略一些东西导致出错

    后台代码:

    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    for (Map<String, Object> map : list) {
        List<Map<String, Object>> wordsList = new ArrayList<Map<String, Object>>();
        Map<String, Object> tmap = new HashMap<String, Object>();
        tmap.put("author", "author");
        tmap.put("sign", "sign");
        wordsList.add(tmap);
        map.put("wordsList", wordsList);
    }
    model.addAttribute("list", list);

    这个时候list里面的每一个元素还包含一个wordsList,到页面遍历就需要用到嵌套<c:forEach>

    JSP页面代码:

    <c:forEach items="${list }" var="cl" varStatus="i">
                <c:forEach items="${cl.wordsList}" varStatus="i" var="wl">
                            <li>${wl.author }</li>
                            <li>${wl.sign }</li>
                </c:forEach>                    
    </c:forEach>

    在写内层循环的时候很容易犯错,写成

    <c:forEach items="${wordsList}" varStatus="i" var="wl">
          <li>${wl.author }</li>
          <li>${wl.sign }</li>
    </c:forEach>

    内层循环的items属性需要带上上层循环的var属性值,必须写成

    <c:forEach items="${cl.wordsList}" varStatus="i" var="wl">
        <li>${wl.author }</li>
        <li>${wl.sign }</li>
    </c:forEach>
  • 相关阅读:
    [luogu p4447] [AHOI2018初中组]分组
    咕咕咕通知
    [luogu p3817] 小A的糖果
    [luogu p1228] 地毯填补问题
    [luogu p1259] 黑白棋子的移动
    [luogu p3612] [USACO17JAN]Secret Cow Code S
    [luogu p1990] 覆盖墙壁
    [luogu p1928] 外星密码
    [luogu p2036] Perket
    [luogu p2392] kkksc03考前临时抱佛脚
  • 原文地址:https://www.cnblogs.com/quyixuanblog/p/5594820.html
Copyright © 2020-2023  润新知