springboot视图技术-beetl
pom
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.gcz</groupId> <artifactId>beetlTest</artifactId> <version>1.0-SNAPSHOT</version> <!-- springboot应用 --> <parent> <artifactId>spring-boot-starter-parent</artifactId> <groupId>org.springframework.boot</groupId> <version>2.3.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 使用热部署 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <!-- hibernate验证框架 --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.17.Final</version> <scope>compile</scope> </dependency> <!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- hutool --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.9</version> </dependency> <!-- beetl --> <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl-framework-starter</artifactId> <version>1.2.38.RELEASE</version> </dependency> </dependencies> <!-- 指定springboot仓库位置 --> <repositories> <repository> <id>milestones</id> <name>Spring Milestones</name> <url>http://code.yhsperp.com:8081/nexus/repository/maven-public/</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project>
application.properties
spring.mvc.view.suffix=.btl
User
package com.gcz.model.bean; import lombok.Data; import java.io.Serializable; /** * @author guocz * @date 20210630 * 用户 */ @Data public class User implements Serializable { /** * 用户ID */ private Long userId; /** * 用户名称 */ private String userName; }
UserController
package com.gcz.controller; import com.gcz.model.bean.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; /** * @author guocz * @date 20210630 * 用户 */ @Controller @RequestMapping("/user") public class UserController { @GetMapping("/showUser.html") public ModelAndView showUserInfo(){ ModelAndView view = new ModelAndView(); User user = new User(); user.setUserId(98765L); user.setUserName("是电饭锅和你"); view.addObject("user", user); view.setViewName("userInfo.btl"); return view; } }
/resources/templates/userInfo.btl
<html> <body> ${user.userId} <p></p> ${user.userName} </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)