<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
<html> <head> <title>啦啦啦啦啦</title> </head> <body> <h1>俠客行</h1> <p>${author!}</P> <#if (poem?size)!=0> <#list poem as item> <p>${item.first!}${item.second!}</p></br> </#list> </#if> </body> </html>
@Slf4j @Component public class FreeMarkerUtil { private static Configuration config; private static String serverPath; @Value("${spring.servlet.multipart.location:D:/static/}") public void setServerPath(String serverPath) { FreeMarkerUtil.serverPath = serverPath; } /** * 通過freemarker生成靜態HTML頁面 * @param templateName 模版名稱 * @param targetFileName 生成後的檔名 * @param ftlPath模板路徑 * @param htmlPathhtml路徑 * @param mapfreemarker生成的資料都儲存在MAP中, */ public static void createHtml(String templateName, String targetFileName, String ftlPath, String htmlPath, Map<String, Object> map) { try{ //建立fm的設定 config = new Configuration(); //指定預設編碼格式 config.setDefaultEncoding("UTF-8"); //設定模版檔案的路徑 config.setDirectoryForTemplateLoading(new File(serverPath+ftlPath)); //獲得模版包 Template template = config.getTemplate(templateName); //從引數檔案中獲取指定輸出路徑 String path = serverPath+htmlPath; //生成的靜態頁存放路徑如果不存在就建立 File file = null; file=new File(path); if (!file.exists()){ file.mkdirs(); } //定義輸出流,注意必須指定編碼 Writer writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(path+"/"+targetFileName)), UTF_8)); //生成模版 template.process(map, writer); }catch (Exception e){ log.error("生成異常:{}",e); } }
構造實體類,通過freemarker將實體類的資訊渲染至html
@GetMapping("test") public Object test() { Map<String,Object> map = new HashMap<>(16); List<Poem> list = new ArrayList<>(); list.add(new Poem("趙客縵胡纓,", "吳鉤霜雪明。")); list.add(new Poem("銀鞍照白馬,", "颯沓如流星。")); list.add(new Poem("十步殺一人,", "千里不留行。")); list.add(new Poem("事了拂衣去,", "深藏身與名。")); map.put("author","李白"); map.put("poem",list); FreeMarkerUtil.createHtml("poem.ftl","poem.html","俠客行/","俠客行/",map); return BackMessage.ok(map); }
實體類:
@Data public class Poem { private String first; private String second; public Poem(String first, String second) { this.first = first; this.second = second; } }
<html> <head> <title>啦啦啦啦啦</title> </head> <body> <h1>俠客行</h1> <p>李白</P> <p>趙客縵胡纓,吳鉤霜雪明。</p></br> <p>銀鞍照白馬,颯沓如流星。</p></br> <p>十步殺一人,千里不留行。</p></br> <p>事了拂衣去,深藏身與名。</p></br> </body> </html>
到此這篇關於SpringBoot如何用java生成靜態html的文章就介紹到這了,更多相關java生成靜態html內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45