Velocity引擎翻译HTML模板的两种写法
2017-05-15 17:57
357 查看
第一种写法新建一个HTML文件,内容为:
第二种写法,使用场景多为HTML页面内容存在数据库,通过SQL获取后为String格式,然后解析
Java代码如下:
<html> <title>Hello Velocity</title> <body> Welcome $name to Javayou.com! today is $date. </body> </html>然后通过Java代码读取HTML文件,并解析参数,输出结果
第二种写法,使用场景多为HTML页面内容存在数据库,通过SQL获取后为String格式,然后解析
Java代码如下:
import java.io.StringWriter; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; public class HelloWorld { public static void main(String args[]){ /** * name to Javayou.com! *today is $date. */ Map map = new HashMap(); map.put("name", "sdmjhca"); map.put("date", (new Date()).toString()); new HelloWorld().replaceByVelocity(map); StringBuffer temp = new StringBuffer(); temp.append("<html>\n "); temp.append("<title>Hello Velocity</title>\n "); temp.append("<body>\n "); temp.append("Welcome $name to Javayou.com! \n "); temp.append("today is $date.\n "); temp.append("</body> \n "); temp.append("</html> \n "); new HelloWorld().replaceByVelocity(map,temp.toString()); } public void replaceByVelocity(Map map){ VelocityEngine vi = new VelocityEngine(); vi.init(); Template template = vi.getTemplate("heloWorld.html", "UTF-8"); VelocityContext vc = new VelocityContext(); Iterator iter = map.entrySet().iterator(); while(iter.hasNext()){ Map.Entry entry = (Entry) iter.next(); String key = entry.getKey().toString(); String value = entry.getValue().toString(); vc.put(key, value); } StringWriter writer = new StringWriter(); //System.out.println("---------"+template.getData().toString()); template.merge(vc, writer); System.out.println(writer.toString()); } public void replaceByVelocity(Map map,String template){ VelocityEngine vi = new VelocityEngine(); vi.init(); VelocityContext vc = new VelocityContext(); Iterator iter = map.entrySet().iterator(); while(iter.hasNext()){ Map.Entry entry = (Entry) iter.next(); String key = entry.getKey().toString(); String value = entry.getValue().toString(); vc.put(key, value); } StringWriter writer = new StringWriter(); vi.evaluate(vc, writer, "", template); //writer.write(s); //template.merge(vc, writer); //System.out.println(writer.toString()); } }
相关文章推荐
- 改造Velocity模板引擎让$[!]{}输出默认进行html转义,并增加$#{}语法支持不转义输出
- ASP.NET Razor模板引擎中输出Html的两种方式
- Thymeleaf:面向Java的XML/HTML模板引擎
- NVelocity模板引擎的注意事项
- .NET模板引擎 EFPlatform.CodeGenerator (代码生成器 静态页生成 生成HTML 模板)
- Java语言介绍(04)开源项目(04)模板引擎(01)Velocity
- Velocity 【Java开源模板引擎】
- velocity模板引擎的基本语法(个人实际编写的例子)
- velocity模板引擎简介
- NVelocity模板引擎,初级体验,非常有用的东东.(转)
- 模板引擎 Velocity
- Java的模板引擎Velocity初体验
- NVelocity是Java模板引擎Velocity的.Net版本
- ASP.NET中的模板引擎Nvelocity简单示例
- .NET中的模板引擎技术——StringTemplate(st(or HTML)模板+ASP.NET页面作为模板)
- Velocity模板引擎之旅(1)
- .NET模板引擎 EFPlatform.CodeGenerator (代码生成器 静态页生成 生成HTML 模板)
- Java的模板引擎Velocity初体验-Java基础-Java-编程开发
- 模板引擎 Velocity