`
xiaoqiangcn
  • 浏览: 39874 次
  • 性别: 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());
分享到:
评论

相关推荐

    java去除字符串中的空格、回车、换行符、制表符的小例子.docx

    ### Java去除字符串中的...通过以上知识点的详细解析,我们可以了解到Java中去除字符串中的空格、回车、换行符、制表符的具体实现方式及其应用场景。这不仅有助于提高编程技能,还能更好地解决实际工作中遇到的问题。

    java中字符串参数化符号${}的解析

    1. 避免转义字符:在Java字符串中,`\`是转义字符,因此我们需要处理`\\$`和`\\{`、`\\}`这样的组合,确保它们不会被误识别为开始或结束的参数化符号。 2. 匹配完整的参数化符号:我们只对完整且未被转义的`${...}`...

    java 正则匹配所有 {},并取出所有符合的字符串。

    在Java编程语言中,正则表达式是一种强大的文本处理工具,可以用来匹配、查找、替换和解析字符串。这里我们关注的是如何使用正则表达式来匹配所有包含在花括号 `{}` 中的字符串,并将其提取出来。这在处理模板引擎、...

    javaCC_字符串解析的强大工具

    它基于LL(k)解析算法,并且支持自定义语法规则,使得开发者可以方便地解析符合特定规则的输入字符串。在JavaCC的帮助下,程序员可以快速编写出高效、可维护的解析代码,而无需从头实现复杂的解析算法。 JavaCC的...

    java 中根据html模板生成新的html

    总结来说,Java中根据HTML模板生成新的HTML涉及到对HTML模板的理解,选择合适的处理方式(如字符串拼接或使用模板引擎),以及熟悉相关的Java库和API。通过这样的方法,我们可以快速地生成动态的、个性化的HTML页面...

    java字段template shell模板生成

    2. **字符串处理**:通过`echo`, `printf`等命令组合字段信息,生成模板代码。 3. **条件语句和循环**:根据字段的类型和特性,可能需要使用`if`, `else`, `for`, `while`等控制流语句生成不同的代码块。 4. **变量*...

    map中的值替换掉字符串中的变量(含运算)

    在Java编程中,经常遇到需要将预定义的字符串模板中的变量替换为实际值的情况。这在配置文件解析、动态SQL生成等场景中尤为常见。本文将详细介绍如何利用Java标准库以及第三方库实现这一功能,并通过一个具体的示例...

    将字符串转换成lumbda

    7. **应用示例**:例如,你可能有一个动态查询系统,用户可以输入 "x > 10 && y 这样的字符串,然后通过解析这个字符串,将其转换为对应的 Lambda 表达式 `(x, y) => x > 10 && y ,用以过滤数据。 8. **最佳实践**...

    java实现模板下载功能

    - **文件名属性**:定义一个私有字符串变量`downLoadFileName`,并提供对应的getter和setter方法。 - **获取文件输入流**:通过`getServletContext().getResourceAsStream()`方法获取模板文件的输入流。 - **下载...

    stremplate:字符串模板实用程序

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

    Thymeleaf显示base64字符串为图片.docx

    在网页开发中,有时我们需要将Base64编码的字符串直接作为图片显示出来,这在Thymeleaf框架中可以通过特定的方式实现。Base64是一种数据编码方式,它将二进制数据转化为可打印的ASCII字符,常用于在HTTP协议中传输...

    Velocity模板解析

    Velocity模板解析是Apache软件基金会开发的一个Java模板引擎,它允许开发者在HTML、XML、Java源代码等静态文件中嵌入可执行的代码片段,从而实现动态生成内容。这个技术广泛应用于Web开发,尤其是在MVC(Model-View-...

    java代码实现填充word模板生成word合同的实例

    这些占位符通常是一些特殊的字符串,如`${变量名}`。 3. **替换占位符**:遍历找到的占位符,使用`XWPFTextParagraph`的`replaceText()`方法将占位符替换为实际的值。这些值可以来自数据库、配置文件或其他数据源。...

    TinySmaliEmulator一个非常简约的smali仿真器可用于解密模糊字符串

    TinySmaliEmulator是一款专为Android逆向工程设计的轻量级Smali代码模拟器,主要功能是用于解析和执行Smali代码,帮助开发者解密混淆的字符串,这对于理解和分析APK文件中的加密逻辑至关重要。在Android应用的逆向...

    java文件自动生成模板

    这个过程可能涉及到文件I/O操作,字符串处理,以及对模板引擎API的调用。 代码生成的流程大致如下: 1. **读取配置**:获取模板目录、输出目录、变量替换规则等信息。 2. **加载模板**:从指定的目录读取模板文件,...

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

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

    函数 字符串.zip

    3. **解析与生成**:函数可以解析字符串形式的数据,如XML或JSON,也可以生成新的字符串,如HTML模板或日志记录。 4. **加密与解密**:函数可以用于对字符串进行加密和解密操作,确保数据安全。 5. **文件操作**:...

    java实现自定义excel模板导出excel并可保存客户端和在线打开

    7. **在线打开**:如果希望用户在线打开Excel,可以将生成的文件转换为Base64编码的字符串,然后通过HTTP响应返回给前端,前端可以解析这个字符串并以数据URL的形式在新窗口中打开。 在实际项目中,我们还需要处理...

    格式化字符串

    在计算机编程中,尤其是在Java这样的面向对象的语言中,格式化字符串是一项非常实用的功能。它主要用于将数据按照特定的格式转换为字符串形式,方便在界面上显示或用于日志记录等场景。常见的格式化类型包括数字格式...

    JSP中截取在线编辑器的字符串的处理.

    在上述代码中,`substringHtml`方法接受一个完整的HTML字符串和截取长度,首先使用Jsoup解析HTML,然后获取纯文本内容并计算截取点。接着,遍历HTML中的文本节点,找到对应于截取点的位置,最后截取HTML并返回。这种...

Global site tag (gtag.js) - Google Analytics