# spring-boot-demo-template-enjoy > 本 demo 主要演示了 Spring Boot 项目如何集成 enjoy 模板引擎。 ## pom.xml ```xml 4.0.0 spring-boot-demo-template-enjoy 1.0.0-SNAPSHOT jar spring-boot-demo-template-enjoy Demo project for Spring Boot com.xkcoding spring-boot-demo 1.0.0-SNAPSHOT UTF-8 UTF-8 1.8 3.5 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test com.jfinal enjoy ${enjoy.version} org.projectlombok lombok true cn.hutool hutool-all spring-boot-demo-template-enjoy org.springframework.boot spring-boot-maven-plugin ``` ## EnjoyConfig.java ```java /** *

* Enjoy 模板配置类 *

* * @author yangkai.shen * @date Created in 2018-10-11 14:06 */ @Configuration public class EnjoyConfig { @Bean(name = "jfinalViewResolver") public JFinalViewResolver getJFinalViewResolver() { JFinalViewResolver jfr = new JFinalViewResolver(); // setDevMode 配置放在最前面 jfr.setDevMode(true); // 使用 ClassPathSourceFactory 从 class path 与 jar 包中加载模板文件 jfr.setSourceFactory(new ClassPathSourceFactory()); // 在使用 ClassPathSourceFactory 时要使用 setBaseTemplatePath // 代替 jfr.setPrefix("/view/") JFinalViewResolver.engine.setBaseTemplatePath("/templates/"); jfr.setSessionInView(true); jfr.setSuffix(".html"); jfr.setContentType("text/html;charset=UTF-8"); jfr.setOrder(0); return jfr; } } ``` ## IndexController.java ```java /** *

* 主页 *

* * @author yangkai.shen * @date Created in 2018-10-11 14:22 */ @Controller @Slf4j public class IndexController { @GetMapping(value = {"", "/"}) public ModelAndView index(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); User user = (User) request.getSession().getAttribute("user"); if (ObjectUtil.isNull(user)) { mv.setViewName("redirect:/user/login"); } else { mv.setViewName("page/index"); mv.addObject(user); } return mv; } } ``` ## UserController.java ```java /** *

* 用户页面 *

* * @author yangkai.shen * @date Created in 2018-10-11 14:24 */ @Controller @RequestMapping("/user") @Slf4j public class UserController { @PostMapping("/login") public ModelAndView login(User user, HttpServletRequest request) { ModelAndView mv = new ModelAndView(); mv.addObject(user); mv.setViewName("redirect:/"); request.getSession().setAttribute("user", user); return mv; } @GetMapping("/login") public ModelAndView login() { return new ModelAndView("page/login"); } } ``` ## index.html ```jsp #include("/common/head.html")
欢迎登录,#(user.name)!
``` ## login.html ```jsp #include("/common/head.html")
用户名 密码
``` ## application.yml ```yaml server: port: 8080 servlet: context-path: /demo ``` ## Enjoy 语法糖学习文档 http://www.jfinal.com/doc/6-1