java後台配置資訊如何傳遞到前端jsp頁面

來源:互聯網
上載者:User

標籤:列表   field   解析   format   ltm   資訊   任務   put   下載失敗   

需求:  系統前端jsp使用的是easyUi的datagrid展示了一些任務資訊,任務資訊中有個狀態資訊顯示的值是數字,

        需要根據後台儲存的映射關係,將狀態顯示為描述資訊。

 

原來的jsp最上層顯示:

 

解決方案,在後台使用建立json資料,然後傳遞到前台jsp頁面中,並使用eval解析後擷取值對應的描述,操作如下:

1. 建立json資料(java)

    //工作清單    public static final String TASK_PENDING = "0";     //命令處理成功    public static final String TASK_COMMAND_SUCCESS = "1";        //命令處理失敗    public static final String TASK_COMMAND_FAILED = "2";    //下載處理成功    public static final String TASK_DOWN_SUCCESS = "3";    //下載處理失敗    public static final String TASK_DOWN_FAILED = "4";    //郵件發送成功    public static final String TASK_MAIL_SUCCESS = "5";    //郵件發送失敗    public static final String TASK_MAIL_FAILED = "6";    //處理成功    public static final String TASK_COMPLETE = "99";    public static String getStatusJson(){        JSONObject statusJson = new JSONObject();        statusJson.put(TASK_PENDING, "待處理");        statusJson.put(TASK_COMMAND_SUCCESS, "指令碼執行成功");        statusJson.put(TASK_COMMAND_FAILED, "指令碼執行失敗");        statusJson.put(TASK_DOWN_SUCCESS, "檔案下載成功");        statusJson.put(TASK_DOWN_FAILED, "檔案下載失敗");        statusJson.put(TASK_MAIL_SUCCESS, "郵件發送成功");        statusJson.put(TASK_MAIL_FAILED, "郵件發送失敗");        statusJson.put(TASK_COMPLETE, "完成");                return statusJson.toString();    }

 

2. 傳值(java)

String statusJson = Constants.getStatusJson();resultMap.put("statusJson",statusJson);

 

3. 前端jsp中使用js擷取值(js)

//根據傳入的狀態碼擷取狀態原因function getStatusDesc(key){    var obj = eval("(" + ‘${statusJson}‘ + ")");    return obj[key];}    

 

4. 使用datagrid的formatter調用function

 1 {  2     field: ‘status‘,  3     title: ‘狀態‘,  4     halign: ‘left‘, 5     align : ‘left‘, 6     width : ‘100‘, 7     formatter:function(value,row,index){ 8         var desc = getStatusDesc(value); 9         return desc;10     }11 },
view code

 

最終顯示結果如下:

 

後話: 剛開始是在後台使用map作為傳值,js中解析map比較複雜,後來改用json後方便多了。

 

java後台配置資訊如何傳遞到前端jsp頁面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.