freemaker遍历map

本文介绍如何使用Java代码将一个List转换为Map,并通过JS和HTML实现对checkbox状态的设置及信息填充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 代码


    List<Screening> screenCategories = screeningDao.findCategoryByScope(new Long[] { 0L, 2L });
        Map<String, List<Screening>> screenMap = new HashMap<String, List<Screening>>();
        for (Screening screenCategory : screenCategories) {
            String title = screenCategory.getTitle();
            List<Screening> children = screenCategory.getChildren();
            if (StringUtils.isNotBlank(title) && children != null) {
                screenMap.put(title, children);
            }
        }
        result.setModel("screenMap", screenMap);

目的是吧一个list转化成一个map


js代码 目的是取得checkbox 并使之变成check状态

    $(function () {
    <#if screeningRefs?? && screeningRefs?size &gt; 0>
        <#list screeningRefs as ref>
            <#if ref.id??>
                document.getElementById("screen_check_${ref.screeningId}").checked = "checked";
            </#if>
            <#if ref.url?? && ref.url != ''>
                document.getElementById("screen_url_${ref.screeningId}").value = "${ref.url}";
            </#if>
            <#if ref.memo?? && ref.memo != ''>
                document.getElementById("screen_memo_${ref.screeningId}").value = "${ref.memo}";
            </#if>
        </#list>
    </#if>
        });


html代码


遍历map

<#assign categories = screenMap?keys>    
            <#list categories as category>
                <tr>
                    <td height="24" colspan="4" >
                        <strong>${category}</strong>:
                        <input type="button" value="显示/隐藏" style="width:100px" class="coolbt" align="left"  onclick="display('${category}_id')"/>
                        <table width="600" id="${category}_id" style="display: none">
                            <#assign screens = screenMap[category]>
                            <#list screens! as screen>
                                <tr align="left">
                                    <td width="2%"><input type="checkbox" id="screen_check_${screen.id}" name="screen_check_${screen.id}" value="${screen.id}"/></td>
                                    <td width="18%">${screen.title!''}:</td>
                                    <td width="6%">描述:</td>
                                    <td width="14%"><input type="text" id="screen_memo_${screen.id}" name="screen_memo_${screen.id}" value="${screen.memo!''}"></td>
                                    <td width="6%">URL:</td>
                                    <td width="14%"><input type="text" id="screen_url_${screen.id}" name="screen_url_${screen.id}" value="${screen.url!''}"></td>
                                </tr>
                            </#list>
                        </table>
                    </td>
                </tr>
        </#list>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值