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]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章