`
xiaoqiangcn
  • 浏览: 39509 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

java 字符串模板解析

    博客分类:
  • java
阅读更多
1. MessageFormat
优点:不需要映入第三方类库,门槛低
缺点:使用序号来和后面参数约定,耦合性比较大,维护成本高,可重用性不高
      对于所有信息都放到bean中,需要后期将对象一个个的get属性,开发代码比较多
 System.out.println(MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22"));


2. freemarker

优点:重用性高,只要传入待替换string及数据对象,可以完成所有替换
      可维护性高,模板修改,替换代码不需要变更
缺点:bean属性删除的时候替换代码不会报错,导致原值直接输出 需要映入第三方类库
       try {
            Configuration cfg = new Configuration();    
            StringTemplateLoader stl =  new StringTemplateLoader();
            stl.putTemplate("", "hello:${name}");
            cfg.setTemplateLoader(stl);    
            Template template = cfg.getTemplate("");
            
            Bean b = new Bean();
            b.setName("aaa");
            
            StringWriter writer = new StringWriter();    
            template.process(b, writer);    
            System.out.println(writer.toString());    
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    


3。 Velocity
优点:键值对的形式,由于MessageFormat不需要维护序号
缺点:重用性不高;需要映入第三方类库
Context context  = new VelocityContext();
        context.put("name", "aaa");
        StringWriter sw = new StringWriter();    
        try {
            Velocity.evaluate(context, sw, "velocity", "hello:${name}");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(sw.toString());
分享到:
评论

相关推荐

    stremplate:字符串模板实用程序

    它可以根据简单模型解析或评估字符串模板。 模板 模板字符串是任何字符串,且模式包含在方括号{ , } 。 因此,字符串anything{something}template是可与结果模型{something="Is"}匹配的模板字符串,可以匹配字符串...

    EXCEL解析,反射机制,实现全部模板解析,支持日期,数字等

    解析excel,使用java反射机制,能够解析所有的excel模板,不受模板格式现在,而且还可以支持解析日期,数字和字符串,实现通用的解析方法,不需要定义解析excel的模板,通过反射实现全解析,全支持。

    freemarker如何解析文本内容

    纯java的文本解析模板,如可解析SQL语句,解析Excel中动态内容

    一些实用的j2me模板程序

    音乐的控制,rms的操作类,java字符串解析 将字符串解析成字符数组,java进度条实例模板,j2me中将对象转换成字节数组的方法,j2me联网测试,j2me多线程的应用实例,j2me Socket通信例子 客户端,服务器端

    freemarker语法完整版

    字符串 Freemarker代码 <#switch being.size> <#case "small"> This will be processed if it is small <#break> <#case "medium"> This will be processed if it is medium <#break> ...

    JAVA上百实例源码以及开源项目

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    xml和java bean互相转换工具包(简单易用)

    5、bean里面的属性如何仍然是bean,则可以递归解析拼装。 使用举例: 1、根据类生成XML配置文件模板 String beanClass2xml = XbeanUtil.beanClass2xml(Bean.class, null); 2、根据XML文件生成BEAN String xml=get...

    JAVA上百实例源码以及开源项目源代码

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java开源包4

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包101

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包11

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包6

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包9

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包8

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包5

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包10

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开发常用jar包

    它传往后台的字符串是添加了标签的字符串. SimpleCaptcha-1.1.1.jar 验证码所使用的包 spring-test.jar 与 junit 测试可以利用spring的注入功能,引入spring的事物管理,而且对于测试的数据还可以支持回滚,保存...

    java开源包1

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    java开源包3

    jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码,并提供了 ActionScript 字节码统计工具。 Java类重加载工具 JReloader JReloader 是一个用来重新...

    使用freemarker生成word文档,源代码+jar包+说明文档及注意事项

    也就是说,不要在word里首先打完 ${ } 之后,又从其它地方把 string 字符串粘贴至 { } 之间,这样在 word 转化为 xml时,解析会有问题,freemarker解析时,会报错。 /** * @Desc:生成word文件 * @Author:张轮...

Global site tag (gtag.js) - Google Analytics