• [freemarker篇]01.入门Freemarker示例


    这今天“弄”军哥的管理系统,里面由涉及到一部分的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.

    解决方法如下: 

    1.添加M2_HOME的环境变量,这个步骤以前就已经搞定了

    2.Preference->Java->Installed JRES->Edit 选择一个jdk

     -Dmaven.multiModuleProjectDirectory=$M2_HOME

    环境变量中的代码,这里配置上可能有点问题,但是解决上面的问题

  • 相关阅读:
    Android VersionedGestureDetector手势事件
    Android drawBitmapMesh扭曲图像
    如何利用SVN合并代码
    Android 微信分享图文资料
    Android google map 两点之间的距离
    Android 监听ContentProvider的数据改变
    Android 自动朗读(TTS)
    Android ContentProvider的实现
    解决xcode升级之后安装的插件失效
    Android Studio 更换国内源下载依赖库
  • 原文地址:https://www.cnblogs.com/pangxiansheng/p/4775706.html
Copyright © 2020-2023  润新知