FreeMarker之根据模型生成HTML代码
发布时间:2020-12-15 07:12:50 所属栏目:Java 来源:网络整理
导读:FreeMarker之根据模型生成HTML代码与FreeMarker根据模型生成Java代码,本质上是一样的,关于生成Java代码可以参考我的这篇文章:FreeMarker之根据模板生成Java代码 一、导入依赖 project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.
FreeMarker之根据模型生成HTML代码与FreeMarker根据模型生成Java代码,本质上是一样的,关于生成Java代码可以参考我的这篇文章:FreeMarker之根据模板生成Java代码 一、导入依赖 <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</groupId>cn.test.freemarkerartifactId>testFreemarkerversion>0.0.1-SNAPSHOTpackaging>wardependencies> dependency> >junit>3.8.1scope>test>org.freemarker>freemarker>2.3.23buildfinalName> project> ? 二、编写模板 在src/main/java下新建templates包,并在该包下新建user.ftl,内容如下所示: <!DOCTYPE html> htmlheadmeta charset="UTF-8"title>用户信息<!-- 新 Bootstrap 核心 CSS 文件 --> link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" /> body style="font-family:'Courier New'"h3 class="text-center">这是用户${username}的信息页!h3div ="col-md-6 column"> table ="table table-bordered"> tr> th>用户名>密码>年龄>地址td>${username}>${password}>${age}>${address}tabledivbody> ? 三、编写Java代码 在src/main/java新增testFreeMarker包,并在该包下创建该两个Java文件 User.java package testFreemarker; public User { private String username; String password; Integer age; String address; public User() { super(); // TODO Auto-generated constructor stub } User(String username,String password,Integer age,String address) { this.username = username; this.password = password; this.age = age; this.address = address; } String getUsername() { return username; } void setUsername(String username) { String getPassword() { password; } setPassword(String password) { Integer getAge() { age; } setAge(Integer age) { String getAddress() { setAddress(String address) { address; } } ? CreateHtmlByFreemarker.java import java.io.BufferedWriter; java.io.File; java.io.FileOutputStream; java.io.FileWriter; java.io.IOException; java.io.OutputStreamWriter; java.io.Writer; java.util.HashMap; java.util.Map; freemarker.core.ParseException; freemarker.template.Configuration; freemarker.template.MalformedTemplateNameException; freemarker.template.Template; freemarker.template.TemplateException; freemarker.template.TemplateNotFoundException; CreateHtmlByFreemarker { private static final String TEMPLATE_PATH = "src/main/java/templates"; final String CLASS_PATH = "src/main/webapp/product"; main(String[] args) { step1 创建freeMarker配置实例 Configuration configuration = new Configuration(); Writer out = null; try { step2 获取模版路径 configuration.setDirectoryForTemplateLoading( File(TEMPLATE_PATH)); step3 创建数据模型 Map<String,Object> dataMap = new HashMap<String,Object>(); dataMap.put("username","zhangsan"); dataMap.put("password","123456"); dataMap.put("age","18"); dataMap.put("address","test"); step4 加载模版文件 Template template = configuration.getTemplate("user.ftl" step5 生成数据 File docFile = new File(CLASS_PATH + "" + "user.html"); out = new BufferedWriter(new OutputStreamWriter( FileOutputStream(docFile))); step6 输出文件 template.process(dataMap,out); System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^user.ftl 文件创建成功 !"); } catch (Exception e) { e.printStackTrace(); } finally { if (null != out) { out.flush(); } } (Exception e2) { e2.printStackTrace(); } } } } ? 四、运行CreateHtmlByFreemarker.java 一般运行不报错并输出user.ftl创建成功的输出语句就表示成功,这时只需刷新下,就可以在对应的目录下看到通过模板生成的html文件。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Comet OJ - Contest #11 E ffort(组合计数+多项式快速幂)
- 在Java中将String转换为Clob
- java – 在数组中的参数时调用Method.invoke()
- java – XMLStreamReader没有关闭打开的xml文件
- Spring Cloud与分布式系统简析
- 基于 Java 2 运行时安全模型的线程协作--转
- java – Mockito模拟对象返回null
- JAVA WEB项目目录结构以及web应用部署的根目录,编译路径和
- java – setHttpRequestRetryHandler的httpclient API
- java – jpa 2 hibernate限制(最大结果)到一个CriteriaQuer
推荐文章
站长推荐
热点阅读