簡體   English   中英

Spring MVC將數據從控制器發布到JQuery

[英]Spring MVC posting data to JQuery from controller

我的春季MVC項目有一張圖表。 此圖表從javascript獲取數據。 我的數據通過modelandview來自控制器。 我可以使用$ {}標簽在jsp中讀取模型數據。 但是此標記不適用於腳本。 所以我不能填寫圖表。 而且我還必須使用loop(foreach)來吸引數據。

這是圖表的代碼。

$('#container').highcharts({
        chart: {
            type: 'column'
        },
        title: {
            text: 'Monthly Average Rainfall'
        },
        subtitle: {
            text: 'Source: WorldClimate.com'
        },
        xAxis: {
            categories: [
                '1',
                '2',
                '3',
                '4',
                '5',
                '6',
                '7',
                '8',
                '9',
                '10',
                '11',
                '12',
                '13',
                '14',
                '15'
            ]
        },
        yAxis: {
            min: 0,
            title: {
                text: 'Rainfall (mm)'
            }
        },
        tooltip: {
            headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
            pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
            footerFormat: '</table>',
            shared: true,
            useHTML: true
        },
        plotOptions: {
            column: {
                pointPadding: 0.01,
                borderWidth: 0
            }
        },
        series: [{
            name: 'Efor Time',
            dataVar: [${for ( var log in ${logs}) {
            **//in here i must add log.worked attributes value to dataVar.** 
            }}]

        }]
    });

這是圖表div。

<div id="container" style="min-width: 770px; height: 514px; margin: 0 auto"></div>

和我的homeController

@RequestMapping(value = "/ProfilePage", method = RequestMethod.POST)
public ModelAndView profilePage(@RequestParam("username") String username) {
List<WorkLog> list = new ArrayList<WorkLog>();
WorkLog wl = new WorkLog();
wl.setUser_name(username);
list = wl.getMonthlyLogList();

ModelAndView model = new ModelAndView();

model.addObject("logs", list);
model.setViewName("ProfilePage");

return model;

}

在您的頁面開始中添加變量,例如將以下代碼添加到您的jsp頁面中

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<c:set var="x" value="${/*YOUR_MODAL_OBJECT*/}" />
<script type="text/javascript">
    var variable= "<c:out value="${x}" />";
</script>

該代碼應在所有Java腳本導入之前進行,並且該變量將可用於Java腳本代碼。

不幸的是,我們不能在JavaScript中使用EL標簽。 為了在Java腳本中訪問模型數據,請首先將數據分配給jsp中的某個隱藏字段,然后嘗試在Java腳本函數中訪問此隱藏字段數據。

參考: 在jsp頁面的javascript中訪問表達式語言

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM