实验目的
1、熟悉 JavaSript 的使用方法
2、熟悉 Spring boot 的使用步骤
3、掌握 JavaSript 与 Springboot 的结合
实验环境
1、64 位电脑,8G 以上内存
2、win10 系统
3、IDEA2021 环境
实验步骤:
1. 下载 Echarts 库的最新本
使用网址:https://echarts.apache.org/zh/index.html,下载 echarts 的最新版本,echarts.min.js
2. 下载 jquery 库
3. 打开 IDEA,生成基本的 Springboot 框架
4. 将 js 放到 static 资源文件夹下
5. 修改 application.properties 的内容如下
spring.thymeleaf.cache=falsespring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.suffix=.html
6. 建立第一个前端页面模板,如下

<!DOCTYPE html><html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8"><script th:src="@{/jquery-3.5.1.min.js}"></script><script th:src="@{/echarts.min.js}"></script><title>Title</title></head><body><h1>测试<span th:text="${currentYear}"></span></h1><canvas id="myCanvas" width="200" height="200" style="border:solid 1px red;"></canvas><script>var c = document.getElementById("myCanvas");var ctx = c.getContext("2d");ctx.beginPath();ctx.arc(100, 75, 50, 0, 2*Math.PI);ctx.stroke();ctx.strokeRect(30, 125, 150, 30);ctx.strokeRect(30, 10, 20, 115);</script></body></html>
7. 建立 Controller,如下图,有一个测试方法
@Controller
public class Echarts {
@GetMapping("/login1")
public String EchartTest1(Model model){
model.addAttribute("currentYear",2014);
return "echarts1";
}
}
8. 运行,在浏览器端显示下图
9. 建立第二个前端页面模板,如下图所示。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查询用户</title>
<!-- <script src="/jquery-3.5.1.min.js"></script>-->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
</head>
<script>
function query() {
$.ajax({
url:"/index",
type:"post",
data:{id:$("#userId").val(),
},
success:function(data){
console.log(data);
$("#username").val(data.username);
}
})
}
</script>
<body>
<div id="app">
<form action="/index" method="post">
请输入 ID:<input type="text" name="id" id="userId"/>
<input type="button" value="查询" onclick="query()" />
您的用户名是:<input type="text" name="username" id="username"/>
</form>
</div>
</body>
</html>
10.建立数据传递使用的类
如下图,建立 Users 类
public class Users {
private int userId;
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
@Override
public String toString() {
return "Users{" +
"userId=" + userId +
", username='" + username + '\'' +
'}';
}
}
11.在 Controller 类中增加两个方法,用于打开页面和获取数据。
@RequestMapping(value="/index",method= RequestMethod.POST)
@ResponseBody
public Users findUser(Users user) {
try {
//user= userService.findUserByUser(user);
// 方便测试,不和数据库交互,前端拿 username 属性的值;
user.setUsername("test");
return user;
} catch(Exception e) {
return null;
}
}
@GetMapping("/login2")
public String EchartTest2(Model model){
// model.addAttribute("currentYear",2014);
return "echarts2";
}
12.重新运行程序,看前端页面是否获得数据,如下图所示。
