- 浏览: 122758 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
小虫大人:
[i][/i]
Spring -
cunsky:
lakeblur 写道您好,能否请教一个flume的问题,co ...
Flume源代码解读一 -
lakeblur:
您好,能否请教一个flume的问题,collector的sin ...
Flume源代码解读一
一 Java模板技术-velocity
需要lib:
velocity-1.6.3.jar,
commons-lang-2.2.jar,
commons-collections-3.2.jar
1.
// 配置初始化参数
Properties props = new Properties();
props.setProperty(Velocity.INPUT_ENCODING, "utf-8"); //input.encoding
props.setProperty(Velocity.RESOURCE_LOADER, "class"); // resource.loader
props.setProperty("class.resource.loader.class", //
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
// 初始化并取得Velocity引擎
VelocityEngine ve = new VelocityEngine(props);
// 取得velocity的模版
Template template = ve.getTemplate("helloVelocity.vm");
// Template实例的获取方式也可以用下面两行代码
// Velocity.init(props);
// Template template = Velocity.getTemplate("helloVelocity.vm");
// 取得velocity的上下文context
VelocityContext context = new VelocityContext();
// 把数据填入上下文
context.put("owner", "Unmi");
context.put("bill", "1000");
context.put("type", "报销单");
context.put("date", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
// 输出流,你可以自由控制输出到哪,String、File、Socket 等
Writer writer = new PrintWriter(System.out);
// 转换输出
template.merge(context, writer);
writer.flush();
2.
InputStream is = BaseVelocityTask.class.getClassLoader()
.getResourceAsStream("velocity.properties");
Properties p = new Properties();
p.load(is);
is.close();
Velocity.init(p);
velocity.properties:
input.encoding = UTF-8 //Velocity.INPUT_ENCODING
output.encoding = UTF-8 //Velocity.OUTPUT_ENCODING
default.contentType = text/html;charset=UTF-8 //
resource.loader = file / /Velocity.RESOURCE_LOADER
file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader
file.resource.loader.path =
E:\\server\\tomcat6020\\webapps\\template
//Velocity.FILE_RESOURCE_LOADER_PATH
VelocityContext context = new VelocityContext();
context.put("abcGames",obj);
Template template = Velocity.getTemplate(MessageFormat.format(vm_path, getTemplateName()));
for(Object key : context.getKeys()){
context.remove(key);
}
// this.process();
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(MessageFormat.format(html_path, getTemplateName())), "UTF-8");
template.merge(context, writer);
writer.flush();
writer.close();
二 velocity模板规则
1 简单: $str
2 javabean的vlt语法:
<font face="Arial, Helvetica, sans-serif" >$!element.pendacca</font>
#end
3.关于list和hashmap的显示:
4.此时,如果要列出hashMap中key=“NARR”的值,可以如下:
<font face="Arial, Helvetica, sans-serif" >$!element.get("NARR")</font>
#end
5.如果要全部列出hashmap的key-value,可以如下:
<li> $key ‘s value: $ hashVariable.get($key) </li>
#end
6.spring框架已经提供了对velocity的支持,在视图方面可以取代jsp。具体配置,可以参考“spring in action”
(1)Velocity http://velocity.apache.org/ (and WebMacro, FreeMarker.. etc)
(2)Tapestry http://jakarta.apache.org/tapestry/
(3)Echo http://sourceforge.net/projects/echo
(4)Cocoon (XML + XSLT) http://cocoon.apache.org/
(5)XMLC(Static DOM) http://xmlc.enhydra.org/
(6)NekoHTML (Dynamic DOM) http://www.apache.org/~andyc/neko/doc/html/
(7)JDynamiTe(PHP Template Port)https://sourceforge.net/projects/jdynamite
fastm
Map hashMap = new HashMap();
hashMap.put("NARR","myNarr in hashMap");
mapList.add(hashMap);
context.put("SUB", mapList);
发表评论
-
2019-3-6
2019-03-06 20:25 341午觉睡得正香,被领导电话吵醒了。只能从车上爬起来,上楼 解决 ... -
JMX
2011-02-28 19:03 1136http://download.oracle ... -
Grizzly
2011-02-26 12:54 1240最近使用grizzly广泛应用于java http服务器,用来 ... -
Json 技术
2011-01-20 14:29 839一 org.json 见包TestJson.jar ... -
Java HTTP client
2011-01-20 11:13 1338一 HTTP client public stati ... -
这是从Think in Java摘的关于性能的说明
2011-01-18 11:56 678这是从Think in Java摘的关于性能的说明 运算 ... -
Java基础一 加载资源
2011-01-16 12:01 815一 加载资源,一般两种方式,class使用绝对路径,threa ... -
jdk自带工具
2011-01-06 23:01 931jps 与unix上的ps类似,用来显示本地的java进程,可 ... -
XML篇
2010-12-31 11:24 766(http://www.blogjava.net/liaoji ... -
Java分布式
2010-12-19 23:20 1050java通信的要求是:可靠,稳定,安全,高效; 网络架构的要 ... -
Java线程池
2010-12-16 17:54 1566一 线程编程注意: 1.給 ... -
Java服务器开发一
2010-12-14 22:31 812Socket 1 2 3 4 -
JVM参数
2010-12-04 12:47 959-server -Xms1500m -Xmx1500m -Xm ... -
JAVA基础 ASCII码
2010-10-22 10:35 7990 32 [空格] 64 @ 96 ` 1 33 ! ... -
<<Java技术手册>> Java in a nutsbell
2010-10-21 11:51 7061 嵌套接口, 枚举类型,annotation 类型都是静态的 ... -
单元测试技术
2010-09-15 10:11 769java单元测试: 1 junit 2 spring m ... -
Java包说明
2010-09-14 16:48 1027http://jar.fyicenter.com/ ...
相关推荐
让我们深入探讨一下Freemarker在Java模板技术中的重要性和相关知识点。 1. **Freemarker的基本概念** - **模板**: 模板是Freemarker的核心,它是HTML或其他文本格式的静态部分,其中包含了一些特殊的Freemarker...
**JAVA后端技术文档模板详解** 在软件开发中,一份详尽的JAVA后端技术文档是确保项目顺利进行的关键。该模板提供了清晰的结构,帮助开发者有效地组织和沟通项目细节。以下是该模板的各个部分及其详细说明: 1. **...
### Java模板技术详解 在Java开发领域中,模板技术是一种非常重要的工具,它主要用于动态生成HTML页面、XML文档等格式的输出。通过使用模板技术,开发者可以将代码逻辑与显示层分离,使得程序结构更加清晰,同时...
java项目文档编写模板—包含项目全流程文档模板(全)java项目文档编写模板—包含项目全流程文档模板(全)java项目文档编写模板—包含项目全流程文档模板(全)java项目文档编写模板—包含项目全流程文档模板(全)java项目...
Java模板语言Beetl是一种强大的、高性能的Java模板引擎,专为简化Web开发中的视图层处理而设计。它的设计理念是让开发者能够更自然地写出符合语义的模板代码,提高开发效率,同时保持良好的可读性和可维护性。Beetl...
本篇文章将详细阐述如何利用Java技术栈实现一个简单的模板下载功能。 #### 二、技术背景与应用场景 1. **技术背景**: - 使用Struts2框架作为后端框架。 - 使用JSP作为前端展示页面。 - 使用XML配置文件来配置...
java软件技术文档 Java 是 Sun 公司推出的新的一代面向对象程序设计语言,特别适合于 Internet应用程序开发,它的平台无关性直接威胁到 Wintel 的垄断地位。一时间,“连Internet,用 Java 编程”,成为技术人员的一...
企业网站模板基于JSP(JavaServer Pages)和Java技术,是一种常见的用于构建企业级Web应用程序的方式。JSP是Sun Microsystems(现已被Oracle收购)推出的一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript...
Java 设计方案模板 Java 设计方案模板是指在软件设计过程中,使用 Java 语言编写的设计文档模板。该模板用于记录软件设计的详细过程和结果,包括设计目标、设计概述、详细设计方法和工具、系统结构设计、系统功能...
- **模板动态生成**:结合其他技术(如Spring EL表达式)实现更复杂的模板逻辑,使模板动态化。 综上所述,Java实现Word模板的自动替换涉及到Java基础、Apache POI库的使用以及对Word文档结构的理解。通过熟练掌握...
此外,这些模板可能使用了不同的技术栈,如Spring Boot、MyBatis、Hibernate等,这些都是Java Web开发中常用的技术,学习并掌握它们对于提升开发能力大有裨益。同时,模板中的错误处理、安全防护措施也值得仔细研究...
"java简历1.doc"和"java简历.doc"是专门针对Java开发职位的简历模板,它们可能更注重技术技能的展示。在这些模板中,求职者应详细列出自己掌握的Java技术栈,例如J2EE、Spring Boot、MyBatis、Hibernate等框架,以及...
Java技术选型是软件开发中的关键决策,它直接影响项目的稳定性和效率。在Java领域,有众多优秀的框架和技术可供选择,本篇文章将详细讨论一些常用的技术选型及其应用场景。 首先,后端服务框架方面,Dubbo是一款高...
【网站后台Java模板】是一种基于Java技术开发的用于构建网站后台管理系统的框架或模版,它简化了开发者在实现后台功能时的代码编写工作。这种模板通常包含了一系列预定义的页面布局、样式和逻辑,使得开发者可以快速...
Java开发文档模板是Java编程实践中不可或缺的一部分,它旨在提供清晰、规范的代码编写指南,以提高团队间的协作效率,确保代码质量和可维护性。在Java项目中,良好的文档能够帮助开发者理解项目的架构、功能和设计...
《Java软件技术文档——软件需求规格说明文档模板》 软件需求规格说明文档是软件开发过程中的重要组成部分,它详细定义了软件的功能、性能、界面以及与其他系统交互的方式。这份模板适用于Java软件开发,为开发者...
Java 简历模板是 Java 开发者在求职时的重要工具,需要详细列出自己的个人信息、自我评价、技能、项目经验、教育经历、证书和其他技能等信息,以便让招聘者更好地了解自己的职业能力和技术栈。 资源链接:...
Java 简历模板知识点总结 Java 简历模板是 Java 开发者找工作的参考模板,涵盖了个人基本信息、教育经历、自我评价、IT 技能、工作经验、项目经验等多个方面。下面是 Java 简历模板中出现的知识点总结: 一、Java ...
Java软件工程师是信息技术行业中一个非常重要的角色,他们负责设计、编码、测试以及维护Java应用程序,以满足企业或组织的各种业务需求。在这个竞争激烈的市场中,一份精心制作的简历是求职者打开成功之门的关键。本...
在本文中,我们将深入探讨如何利用POI技术来导出Word模板,以及在这个过程中可能遇到的关键知识点。 首先,我们需要理解Apache POI的工作原理。POI是一个开源项目,它提供了一系列API,使得开发者可以读写Microsoft...