php抓取网页数据插入数据库(java程序员写入图表配置的解决方法和方法 )
优采云 发布时间: 2021-10-22 02:00php抓取网页数据插入数据库(java程序员写入图表配置的解决方法和方法
)
写在前面
随时记录学习和变化。
两种方法:
常规方法:Jpa访问数据库获取值后,写入域,thymeleaf从域中获取值,然后修改标签的值。
对于echarts:由于echarts的所有配置都是用js代码写的,所以上面java的实现是不可行的。使用ajax轮询访问配置的“@RestController”,获取返回的查询结果,处理后写入图表配置。
方法一
看代码示例:
@RequestMapping("/watermonitor") //访问某url时
public String water(Model model) {
Kepwater kepwater=kepwaterRepository.findById(1); //读出数据表内第一行数据
if(kepwater==null){
System.out.println(11);
}else
model.addAttribute("kepwater",kepwater);//若不为空,写入域内
return "watermonitor"; //跳到"watermonitor.html"
}
然后 thymeleaf 取值并将其写入 html:(部分代码)
100
方法二
配置的时候不需要“@Controller”,而是使用“@RestController”,因为现在不返回页面而是返回查询结果。
接下来看对应的JS代码:
介绍:定期访问上述配置的“/oee/listAll”,将每个查询结果的“month”和“value”值推送到两个数组中(数据表的表头为“id” , "month" , "Value"),这里我直接相应地定义了月份和数值数组(因为在echarts配置中,“data”参数是一个数组,所以需要分别将各个值推入数组中) .
代码有点长,但其实基本都是echarts的配置。真正的逻辑在get函数里,很简单。
<p>
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: 'OEE管理'
},
legend: {
data:['目标','实际']
},
xAxis: {
type: 'category',
name:'月份',
data: []
},
yAxis: {
type: 'value',
name:'百分比/%',
},
series: [{
name:'目标',
data: [40, 40, 40, 40, 40, 40, 40],
type: 'line'
},
{
name:'实际',
data: [],
label: {
normal: {
show: true,
position: 'top'
}
},
type: 'line'
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
get();
setInterval(get(),5000);
function get(){
$.ajax({
url: '/oee/listAll',
method: "get",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
dataType: "json",
clickToSelect: true,
success:function (data) {
var value=[];
var month=[];
for (var i = 0;i