Javascript Spring MVC从控制器向JQuery发布数据

Javascript Spring MVC从控制器向JQuery发布数据,javascript,jquery,spring,spring-mvc,Javascript,Jquery,Spring,Spring Mvc,我有一张spring mvc项目的图表。此图表从javascript获取数据。我的数据来自控制器通过modelandview。我可以用${}标记读取jsp中的模型数据。但是这个标签不适用于脚本。所以我不能填写表格。我还必须使用loop(foreach)来吸引数据 这是查特的代码 $('#container').highcharts({ chart: { type: 'column' }, title: {

我有一张spring 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.** 
            }}]

        }]
    });
$(“#容器”)。高图({
图表:{
类型:“列”
},
标题:{
文字:“月平均降雨量”
},
副标题:{
文本:'来源:WorldClimate.com'
},
xAxis:{
类别:[
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'10',
'11',
'12',
'13',
'14',
'15'
]
},
亚克斯:{
分:0,,
标题:{
文字:“降雨量(毫米)”
}
},
工具提示:{
headerFormat:“{point.key}”,
pointFormat:“{series.name}:”+
“{point.y:.1f}mm”,
页脚格式:“”,
分享:是的,
useHTML:true
},
打印选项:{
专栏:{
点填充:0.01,
边框宽度:0
}
},
系列:[{
名称:'Efor Time',
dataVar:[${for(变量日志位于${logs}){
**//在这里,我必须将log.worked属性值添加到dataVar。**
}}]
}]
});
这是海图组

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

这是我的家庭控制器

@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;
@RequestMapping(value=“/ProfilePage”,method=RequestMethod.POST)
公共模型和视图配置文件页(@RequestParam(“用户名”)字符串用户名){
列表=新的ArrayList();
WorkLog wl=新的WorkLog();
wl.setUser_名称(用户名);
list=wl.getMonthlyGlist();
ModelAndView模型=新的ModelAndView();
model.addObject(“日志”,列表);
model.setViewName(“ProfilePage”);
收益模型;

}

在页面开始处添加变量,如 将此代码添加到您的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>

var变量=”;

代码应该放在所有java脚本导入之前,变量将可用于java脚本代码。

不幸的是,我们不能在JavaScript中使用EL标记。为了访问java脚本中的模型数据,首先将数据分配给jsp中的某个隐藏字段,然后尝试在java脚本函数中访问该隐藏字段数据

参考: