案例
获取员工数据,返回统一响应结果,在页面渲染展示:
1. 准备工作
以下这些资料需要通过微信公众号:黑马程序员—>下载百度网盘资源获取
-
在pom.xml文件中引入dom4j的依赖,用于解析XML文件
-
引入资料中提供的解析XML的工具类XMLParserUtils、对应的实体类Emp、XML文件 emp.xml
-
引入资料中提供的静态页面文件,放在resources下的static目录下
2. 编写Controller
-
编写Controller程序,处理请求,响应数据
-
EmpController类:
package com.app.controller; import com.app.pojo.Emp; import com.app.pojo.Result; import com.app.uitls.XmlParserUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class EmpController { @RequestMapping("/listEmp") public Result listEmp(){ //这样获取emp.xml的磁盘路径写法是死的,如果文件转移就找不到了 //String file = "E:\\JavaDevelop\\idea_workspace\\web_project\\springboot-web-req-resp\\src\\main\\resources\\emp.xml" //1. 解析xml文件 //动态获取emp.xml的磁盘路径 String file = this.getClass().getClassLoader().getResource("emp.xml").getFile(); System.out.println(file); //解析xml文件 List<Emp> empList = XmlParserUtils.parse(file, Emp.class); //2. 处理转换数据 empList.forEach(emp -> { //(1)处理性别gender: //获取当前用户性别数据 String gender = emp.getGender(); //如果为1,则重新将该用户的性别赋值为:男 if ("1".equals(gender)){ emp.setGender("男"); } else if ("2".equals(gender)) { //如果为2,则赋值为:女 emp.setGender("女"); } //(2)处理职位job: //获取当前用户职位数据 String job = emp.getJob(); //如果为1,则重新将该用户的职位赋值为:讲师 if ("1".equals(job)){ emp.setJob("讲师"); } else if ("2".equals(job)) { //如果为2,则赋值为:班主任 emp.setJob("班主任"); } else if ("3".equals(job)) { //如果为3,则赋值为:就业指导 emp.setJob("就业指导"); } }); //3. 响应结果 return Result.success(empList); } }
-