牛骨文教育服务平台(让学习变的简单)
博文笔记

[WEB前端开发]-关于Velocity中Map与List操作-解决velocity无法识别Map对象key的问题

创建时间:2015-09-07 投稿人: 浏览次数:2937

1.通过一个List列表,列出所有的复选框。
2.通过一个Map参数,初始化选中的复选框。

场景总结

在velocity中,Map对象的key必须是string才能识别到,一开始用Long型总是无法识别。以下看代码详细:

VM代码:

<div class="span8">
    <div class="pull-right">
        <label class="control-label superLable">物流关系:</label>
        <div class="controls">
            <input type="checkbox" id="all"> 
            <input type="button" value="全选" class="btn" id="selectAll"> 
        </div>
        <div class="controls">
        <ul id="list"> 
        #foreach($param in $expressList)
                    #if($!shopexpressMap.get($!{param.id}))
                        <li><label><input type="checkbox" value="$!{param.id}" checked>$!{param.expressFullName}</label></li> 
                    #else 
                        <li><label><input type="checkbox" value="$!{param.id}">$!{param.expressFullName}</label></li> 
                    #end
        #end
        </ul>
        </div>
    </div>
</div>

Java代码

    {
        LogUtil.info(MODULE, "========= 编辑店铺物流信息      开始 ============");

        //获取所有物流列表信息
        BaseExpressReqDTO sdto = new BaseExpressReqDTO();
        List<BaseExpressRespDTO> expressListBack = baseExpressRSV.fetchAllExpressInfo(sdto);
        List<TmpTestVO> expressList = new ArrayList<TmpTestVO>(expressListBack.size());

        for(BaseExpressRespDTO dto: expressListBack)
        {
            TmpTestVO vo = new TmpTestVO();
            vo.setId(String.valueOf(dto.getId()));
            vo.setExpressFullName(dto.getExpressFullName());
            vo.setExpressName(dto.getExpressName());
            expressList.add(vo);
        }
        //获取该店铺对应的物流列表
        Map<String, ShopExpressResDTO> shopexpressMap = shopInfoRSVDubbo.listShopExpress(Long.valueOf(shopId));


        model.addAttribute("expressList", expressList);
        model.addAttribute("shopexpressMap", shopexpressMap);

        LogUtil.info(MODULE, "========= 编辑店铺物流信息      结束 ============");

        return "/staff/shop/express/shop-express";
    }

效果

勾选的就是初始化的复选框

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。