這今天“弄”軍哥的管理系統,里面由涉及到一部分的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
環境變量中的代碼,這里配置上可能有點問題,但是解決上面的問題