有如下代码: JSONArray ds = (JSONArray) json.get("DS"); 其中ds的值是[{"Station_Name":"耿马国家基本气象站","Station_Id_C":"56946","SUM_PRE_Time_2020":"166"}, {"Station_Name":"临沧国家基本气象站","Station_Id_C":"56951","SUM_PRE_Time_2020":"95.4"}, {"Station_Name":"沧源","Station_Id_C":"56944","SUM_PRE_Time_2020":"260.8"}, {"Station_Name":"双江","Station_Id_C":"56950","SUM_PRE_Time_2020":"70.4"}] 如何结合freemarker动态生成html.将里面对应的Station_Id_C,SUM_PRE_Time_2020的值展示成一张表格 请结合springboot给我代码
时间: 2023-03-03 18:54:54 浏览: 141
假设你已经有了一个Spring Boot项目,并且在pom.xml中添加了相关的依赖,如freemarker-spring-boot-starter。以下是生成HTML的步骤:
1. 在resources/templates目录下创建一个HTML模板文件,比如station_table.ftl,用Freemarker语法编写表格:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>气象站表格</title>
</head>
<body>
<table>
<tr>
<th>站点ID</th>
<th>降水量</th>
</tr>
<#list ds as station>
<tr>
<td>${station.Station_Id_C}</td>
<td>${station.SUM_PRE_Time_2020}</td>
</tr>
</#list>
</table>
</body>
</html>
```
2. 在Spring Boot项目中创建一个Controller类,返回生成的HTML字符串:
```
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import com.alibaba.fastjson.JSONArray;
@Controller
public class StationController {
@GetMapping("/stations")
public String showStations(Model model) {
// 假设你已经有了一个JSONArray对象
JSONArray ds = (JSONArray) json.get("DS");
// 把ds传给模板引擎
model.addAttribute("ds", ds);
// 返回模板文件的名称,Spring Boot会自动渲染
return "station_table";
}
}
```
3. 在浏览器中访问http://localhost:8080/stations,就可以看到生成的HTML表格了。
需要注意的是,你需要根据实际情况修改模板文件和Controller类中的变量名,以及JSONArray对象的获取方式。
阅读全文