springboot视图技术-freemarker
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>freemarkerTest</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> <!-- freemarker模板 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> </resource> </resources> </build> <!-- 指定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.freemarker.suffix=.ftl
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.*; import org.springframework.web.servlet.ModelAndView; /** * @author guocz * @date 20210630 * 用户 */ @Controller @RequestMapping("/user") public class UserController { @GetMapping("/showUserInfo.html") public ModelAndView showUserInfo(Long id){ ModelAndView view = new ModelAndView(); User user = new User(); user.setUserId(1234L); user.setUserName("看IU优化个IU"); view.addObject("user", user); view.setViewName("userInfo"); return view; } }
/resources/templates/userInfo.ftl
<html> <body> ${user.userId} <p></p> ${user.getUserName()} </body> </html>
分类:
springboot
【推荐】国内首个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新功能体验(一)