JSP页面获取ModelAndView传递的参数

后端代码

实体

package com.ctrip.train.tieyouflightpriceanalysis.entity;

/**
 * desc : 优惠券信息
 * create_user : cheng
 * create_date : 2018/11/21 14:33
 */
public class CouponInfo {

    /**
     * 策略ID
     */
    private String activityId;
    /**
     * 描述信息
     */
    private String desc;

    /**
     * desc : 重写toString, 这个方法一定要重写, 重写的内容就是json格式化出来的内容
     * create_user : cheng
     * create_date : 2018/11/21 16:06
     */
    @Override
    public String toString() {
        return activityId + ":"+ desc;
    }

    public String getActivityId() {
        return activityId;
    }

    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

controller

    /**
     * desc : 跳转优惠券风险控制报表页面
     * create_user : cheng
     * create_date : 2018/8/14 16:29
     */
    @RequestMapping(value = "/_riskControl")
    public ModelAndView toRiskControl(ModelAndView mv) throws Exception {
        mv.setViewName("coupon/riskControl");
        // 优惠券策略ID list(依据class的toString方法生成json)
        // 其中的getCouponList方法 : List<CouponInfo> getCouponList() throws Exception;
        mv.addObject("couponList", riskControlBiz.getCouponList());
        return mv;
    }

前端jsp页面获取

<input id="couponList" type="hidden" value="${couponList}">

js处理数据

    /**
     * 填充优惠券策略ID
     */
    function fillCouponEnum() {
        // 获取优惠券策略ID, 截取前后[]
        var couponStr = $("#couponList").val();
        
        // 输出结果 : [63336:新客券, 63341:63341, 81635:81635, 65145:65145, 81636:81636, 65157:65157, 75125:75125, 81639:81639, 71653:71653, 65152:65152, 81640:81640, 73039:73039, 67012:67012, 67928:67928, 75126:75126, 73040:73040, 78657:78657, 65148:65148, 81641:81641, 67015:67015, 71657:71657, 65153:65153, 71658:71658, 76608:76608, 77151:77151, 67929:67929]
        // 其实就是 activityId + ":"+ desc, 也就是实体类的toString方法
        console.log(couponStr);

        couponStr = couponStr.substring(1, couponStr.length - 1);
        // str -> array
        var couponList = couponStr.split(",");
        var selectHtml = "<optgroup>";
        selectHtml += "<option data-subtext='全部' value=' '>全部</option>";
        for (var i = 0; i < couponList.length; i++) {
            var couponArr = couponList[i].split(":");
            selectHtml += "<option data-subtext='" + couponArr[1] + "' value='" + couponArr[0] + "'>" + couponArr[0] + "</option>";
        }
        selectHtml += "</optgroup>";
        $("#couponEnum").append(selectHtml);
    }

特别注意
我们注释掉实体类的toString方法后, 上述console.log(couponStr)打印结果为

[com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@c6c31f9, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@61e7aa09, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@4b55c1eb, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@4ef4b604, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@23fab5da, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7f91e44e, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@1a2e38ce, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7101e919, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7a3d686, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7760e1a8, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@1ce35fc2, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@62d42466, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7b5ac95c, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@bc70a3e, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@d5c49cb, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@4ee8ab12, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@63559bba, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@5070eb14, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@3f8de2c0, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@34367e18, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7bf1ab6f, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@2c0ed74e, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7c45abed, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@7b84ccc3, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@d58aa0f, com.ctrip.train.tieyouflightpriceanalysis.entity.CouponInfo@57b6a84d]
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值