这今天“弄”军哥的管理系统,里面由涉及到一部分的FreeMarker的知识,并且我那些学生在亚信实习也涉及到这部分的知识,所以想开始总结一些FreeMarker,正好我可开始使用一下Maven,简单的入门!如果这里有什么不会的,我的学生请留言或者在QQ上挑逗一下我,哈哈!我只对我的学生负责,如果是大神级别的就不要麻烦我了!谢谢理解!
关于如何在MyEclipse2014搭建Maven环境,抱歉这里就不说了!有想知道的,我给学生发视频!
使用Maven快速建立项目:
1.新建Maven项目
直接点击下一步
这里什么都不用管,直接点击下一步即可
使用的是快速搭建,选择好之后,点击NEXT
通过GAV搞定坐标,点击完成即可!
最终的项目结构图如下:
这些类都是我重新写的!
第一步,修改pom.xml文件,代码如下
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- 引入Freemarker的依赖 --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> </dependencies>
注意:我修改了单元测试的版本号码和依赖了最新的freemarker的支持
第二步,新建模版文件,后缀名一般情况下为ftl,全名为freemarker+template的缩写,demo.ftl的代码如下
你好:${user_name}
这是最简单的形式了
第三步,建立读取demo.ftl的帮助文件,FreemarkerUtil.java文件
public class FreemarkerUtil { public Template getTemplate(String name){ try { //通过Freemarker的Configuration读取相应的ftl Configuration configuration = new Configuration(Configuration.VERSION_2_3_23);//这里是对应的你使用jar包的版本号:<version>2.3.23</version> //configuration.setDirectoryForTemplateLoading(new File("/ftl")); //如果是maven项目可以使用这种方式 configuration.setClassForTemplateLoading(this.getClass(), "/ftl"); Template template = configuration.getTemplate(name); return template; } catch (IOException e) { e.printStackTrace(); } return null; } public void print(String name,Map<String, Object> root){ //通过Template可以将模版文件输出到相应的文件流 Template template = this.getTemplate(name); try { template.process(root, new PrintWriter(System.out));//在控制台输出内容 } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
第四步,写测试类进行测试
public class FreemarkerTest{ FreemarkerUtil fu = null; @Before public void init(){ if(fu==null){ fu = new FreemarkerUtil(); } } @Test public void 读取模版现实在控制台(){ //1.创建数据模型 Map<String, Object> root = new HashMap<String, Object>(); //2.赋值 root.put("user_name", "胖先生"); //3.将数据模型和模版进行结合输出到控制台显示 fu.print("demo.ftl", root); } }
进行测试,结果如下,在控制台上可以输入: 你好:胖先生 -->代表成功了!
如果同学不会使用maven那么说明你已经落后了,但是也可以使用普通的jave项目搞定,这里提供了freemarker的下载地址
http://mvnrepository.com/artifact/org.freemarker/freemarker/2.3.23
请自行下载
备注一下,我在使用maven test命令的时候报错了并且解决了
check $M2_HOME environment variable and mvn script match.
解决方法如下:
2.Preference->Java->Installed JRES->Edit 选择一个jdk
-Dmaven.multiModuleProjectDirectory=$M2_HOME
环境变量中的代码,这里配置上可能有点问题,但是解决上面的问题