2015-09-16 3 views
0

У меня есть диаграмма для моего проекта mvc spring. Эта диаграмма получает данные из javascript. Мои данные поступают от контроллера через modelandview. Я могу читать данные моделей в jsp с тегами $ {}. но эти теги не работают со скриптом. Так что я не могу заполнить график. А также я должен использовать loop (foreach) для привлечения данных.Spring MVC отправляет данные в JQuery от контроллера

код данной схемы.

$('#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; 

}

ответ

0

В вашей странице запуска добавить переменную как добавить этот код в вашей 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-скрипты импортируются, и переменная будет доступна для вашего j ava скриптовый код.

0

К сожалению, мы не можем использовать теги EL в JavaScript. Чтобы получить доступ к данным модели в java-скрипте, сначала назначьте данные некоторому скрытому полю в jsp и попытайтесь получить доступ к этим скрытым данным поля в java-скрипте.

Refer: Accessing the expression language in javascript of a jsp page

Смежные вопросы