文章目录
01-thymeleaf分支渲染(了解)
-
概述
- 使用th:swtich、th:case指令进行分支渲染
-
代码实现
@WebServlet("/demo01") public class Demo01Servlet extends ViewBaseServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String role = "super"; request.setAttribute("role", role); processTemplate("demo01", request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } }
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>01-thymeleaf分支渲染</title> </head> <body> <span th:switch="${role}"> <span th:case="super">超级管理员</span> <span th:case="admin">管理员</span> <span th:case="user">用户</span> </span> </body> </html>
02-thymeleaf列表渲染(掌握)
-
概述
- 使用th:each进行列表渲染,类似于vue中的v-for
-
代码实现
@WebServlet("/demo02") public class Demo02Servlet extends ViewBaseServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<User> userList = new ArrayList<>(); userList.add(new User(1, "张三", "root")); userList.add(new User(2, "李四", "admin")); userList.add(new User(3, "王五", "12345")); request.setAttribute("userList", userList); processTemplate("demo02", request, response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } }
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>02-thymeleaf列表渲染</title> </head> <body> <table border="1px" rules="all" cellspacing="0px" cellpadding="10px" width="400px" height="300px"> <tr> <td>状态</td> <td>编号</td> <td>姓名</td> <td>密码</td> </tr> <tr th:each="user ,state : ${userList}"> <td th:text="${state.index}"></td> <td th:text="${user.userId}">编号</td> <td th:text="${user.userName}">姓名</td> <td th:text="${user.userPwd}">密码</td> </tr> </table> </body> </html>
03-lombok插件引入(掌握)
-
开发步骤
- ①idea安装lombok插件
- ②idea允许注解运行
- ③重启idea
- ④引入lombok的jar包
- ⑤使用lombok的注解
-
①idea安装lombok插件
-
②idea允许注解运行
-
③重启idea
-
④引入lombok的jar包
-
⑤使用lombok的注解
@NoArgsConstructor @AllArgsConstructor @Data public class User { private Integer userId; private String userName; private String userPwd; }
-
jar包下载网址
04-ModelBaseServlet类(掌握)
-
概述
- 原来,一个功能就是一个Servlet,这样就导致Servlet太多了,难以维护。
-
代码实现
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>04-ModelBaseServlet类</title> </head> <body> <a th:href="@{/addUser}">添加用户</a> <a th:href="@{/deleteUser}">删除用户</a> <a th:href="@{/updateUser}">修改用户</a> <a th:href="@{/selectUser}">查询用户</a> <br> --------------------------------- <br> <a th:href="@{/user(method=addUser)}">添加用户</a> <a th:href="@{/user(method=deleteUser)}">删除用户</a> <a th:href="@{/user(method=updateUser)}">修改用户</a> <a th:href="@{/user(method=selectUser)}">查询用户</a> </body> </html>
public class ModelBaseServlet extends ViewBaseServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //①获取method String methodName = req.getParameter("method"); try { //②获取method对象 Method method = this.getClass().getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class); //③反射动态执行 method.invoke(this, req, resp); } catch (Exception e) { e.printStackTrace(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
@WebServlet("/user") public class UserServlet extends ModelBaseServlet { public void addUser(HttpServletRequest request, HttpServletResponse response){ System.out.println("UserServlet addUser"); System.out.println("request = " + request); System.out.println("response = " + response); } public void deleteUser(HttpServletRequest request, HttpServletResponse response){ System.out.println("UserServlet deleteUser"); } public void updateUser(HttpServletRequest request, HttpServletResponse response){ System.out.println("UserServlet updateUser"); } public void selectUser(HttpServletRequest request, HttpServletResponse response){ System.out.println("UserServlet selectUser"); } }
05-ModelBaseServlet执行流程(掌握)
- 执行流程