jsp - 折线图 - CanvasJS 和 .jsp 文件
问题描述
我有个人项目,我想展示一个包含一些数据的简单图表。X 轴上有日期,Y 上有 int 结果。我在 Spring Boot 中有 Hibernate (MySQL) 和 .jsp 视图的项目,现在我正在尝试实现 CanvasJS。我不知道他们在这里的第二个循环中做了什么:https ://canvasjs.com/spring-mvc-charts/line-chart/
<c:forEach items="${dataPointsList}" var="dataPoints" varStatus="loop">
<c:forEach items="${dataPoints}" var="dataPoint">
xValue = parseInt("${dataPoint.x}");
yValue = parseFloat("${dataPoint.y}");
dps[parseInt("${loop.index}")].push({
x : xValue,
y : yValue
});
</c:forEach>
</c:forEach>
为什么他们引用 dataPoints: dps[0]和 xValue 是 data.point.x,而不是来自 List 值?
这是我的代码:
控制器:
@GetMapping("/sugarplus/sugars/graphs")
public String showCharts(ModelMap modelMap){
List<Sugar> sugarList = jpaSugarService.findSugarsByDate();
modelMap.addAttribute("sugarDataChart", sugarList);
return "test";
}
.jsp 文件与 javascript:
<!DOCTYPE HTML>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css"/>
<%@ include file="header.jsp" %>
<head>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script type="text/javascript">
window.onload = function () {
let arr = [];
let chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Wykres pomiarów"
},
axisX: {
title: "Data pomiaru",
gridThickness: 2,
valueFormatString: "DD MMM"
},
axisY: {
title: "Cukier"
},
data: [
{
type: "line",
xValueType: "dateTime",
dataPoints: arr[0]
}
]
});
let xValue;
let yValue;
<c:forEach items="${sugarDataChart}" var="sugars" varStatus="loop">
<c:forEach items="${dataPoints}" var="dataPoints">
xValue = "${dataPoints.x}";
yValue = "${dataPoints.y}";
arr["${loop.index}"].push({
x: xValue,
y: yValue
});
</c:forEach>
</c:forEach>
chart.render();
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 300px; width: 100%;"></div>
</body>
<%@ include file="footer.jsp" %>
</html>
解决方案
推荐阅读
- python - 在python中排序查询
- c - 链接库中未定义的引用
- python - 使用运算符和迭代 Numpy Python 修改数组
- php - 如何将表单数据传递给我的控制器,然后将其存储到数据库中?拉拉维尔
- javascript - 我们可以将边框半径应用于Firefox中的滚动条吗?
- javascript - 如何在不停止的情况下运行 img 滑块?
- uwp - UI 使用旧组件的值
- python - 在 Keras 中,使用 validation_split (在“fit”方法中)和 model.evaluate 函数之间最好的是什么?
- sql - Laravel Eloquent,按周分组并显示一周的开始和结束
- robotframework - 只需执行命令以根据测试用例名称保存日志报告