123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.malk.mcli.test;
- import com.alibaba.fastjson.JSON;
- import com.malk.repository.dao.primary.McAuthorizationDao;
- import com.malk.server.common.McR;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Profile;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
- import java.util.Map;
- /**
- * JSP在SpringBoot内运行
- * -
- * 1. 在 file - project structure - facets 下, 添加web以及对应的路径. 注意 web.xml 直接添加, 完成后将 webapp 文件夹移动到 src/main 下面
- * 2. 添加依赖, 注意 tomcat-embed-jasper 需要在子项目内引用才有效, 余下依赖引入主项目即可
- * 3. 项目配置, (jsp为存放jsp文件夹) spring: mvc: view: --> prefix: /WEB-INF/jsp/ --> suffix: .jsp
- * 4. jsp文件有三种语法, JSP表达式 / EL表达式 / JSTL标签库; 正常书写 html, 数据获取通过 ModelAndView 传递进来 [c标签最实用]
- * 5. 在controller内返回 ModelAndView, 渲染为jsp文件名称, 参数传递可用 request.setAttribute / modelAndView.addObject
- * 6. 可选: 在启动配置内, environment - working directory 下填写 $MODULE_WORKING_DIR$
- * 7. 进阶: 实现jsp效果后, 后续可通过 mvc 解耦视图和控制器, view 可使用模板依赖进行统一管理与继承, com.zhuogao.zhuogao.com.malk.hongfeng.controller 可通过 servlet 统一接管
- **/
- @Slf4j
- @Profile({"dev", "test"})
- @RestController
- @RequestMapping("/test/jsp")
- public class JSPTestController {
- @Autowired
- private McAuthorizationDao dao;
- @RequestMapping("show")
- ModelAndView showEmp() {
- List<Map> list = JSON.parseArray(JSON.toJSONString(dao.findAll()), Map.class);
- ModelAndView mav = new ModelAndView("/test");
- mav.addObject("list", list);
- return mav;
- }
- @RequestMapping("/index")
- ModelAndView index(HttpServletRequest request) {
- //将用户信息保存到Request对象中
- request.setAttribute("name", "pan_junbiao的博客");
- request.setAttribute("blog", "https://blog.csdn.net/pan_junbiao");
- request.setAttribute("remark", "您好,欢迎访问 pan_junbiao的博客");
- //返回首页
- return new ModelAndView("/index");
- }
- @RequestMapping("/echarts")
- ModelAndView echarts() {
- return new ModelAndView("/echart");
- }
- /**
- * test
- */
- @GetMapping("test")
- McR test() {
- return McR.success();
- }
- }
|