中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
Struts+Freemarker一对超强组合(2)
作者:未知 时间:2005-07-27 22:27 出处:CSDN 责编:chinaitpower
              摘要:Struts+Freemarker一对超强组合(2)

由于灵活使用了freemarker以后,我都不用在项目中引入struts的tlds了,可以节约一点服务器资源。
另外以前如果修改了jsp文件后第一次运行时,由于需要重新编译为class,所以会出现很明显的延迟。但是修改fm的ftl模板文件,刷新页面几乎感觉不到延迟,因为ftl模板无需编译。
也许各位会想了,这样组合的效率会高么?但是你从另外一个角度看,asp本身的效率也不高,但是还能活跃在广大的服务器端,何况java呢。
在我前面一章中说过的,如果你原来用struts编写的action,那么可以直接用ftl模板替换jsp文件。完全体现mvc的控制层与展示层分离。而且如果做的好的ftl模板,将来也可以在很多地方通用。
到底可以用在哪些地方?在fm的网站,提供一个网友开发的模板,可以让用户轻松将文档转换为RTF格式。比如在一个通用模板rtf.ftl里有下面这些macro:
<#macro big>
 {\fs#{RTF_BigFontSize*2} <#nested>}<#t>
</#macro>

<#macro H1>
 {\fs#{RTF_H1FontSize*2}  <#nested>}<@newline/><#t>
</#macro>

当然还有定义整个rtf文件结构的地方.xiaozhen.

<#assign RTF_DefaultFontSize=10>
<#assign RTF_BigFontSize=12>
<#assign RTF_SmallFontSize=8>
<#assign RTF_H1FontSize=18>
<#assign RTF_H2FontSize=14>

<#assign RTF_InTable=false>
<#assign RTF_TableColumns=1>
<#macro document>
 {\rtf1\ansi\ansicpg1252\deff0\deflang1033<#t>
  {\fonttbl<#t>
   <#-- feel free to change these fonts (except for f100)... just make sure you keep the same charset if you want RtfStringModel to keep working! -->
   {\f0\fswiss\fcharset0 Arial;}<#t>
   {\f1\fswiss\fcharset238\fprq2 Arial CE;}<#t>
   {\f2\fswiss\fcharset204\fprq2 Arial Cyr;}<#t>
   {\f3\fswiss\fcharset161\fprq2 Arial Greek;}<#t>
   {\f4\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}<#t>
   {\f5\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}<#t>
   {\f6\fswiss\fcharset186\fprq2 Arial Baltic;}<#t>
   {\f100\fnil\fcharset2 Symbol;}<#t>
  }<#t>
  \viewkind4\uc1\pard\f0\fs#{RTF_DefaultFontSize*2}<#t>
  <#nested><#t>
 }<#t>
</#macro>

注:这里<#t>是换行符

然后在应用模板里调用
<#import "rtf.ftl" as rtf>
<@rtf.document>
<@rtf.H1>My big header<
/@rtf.H1><#t>
<@rtf.big>big<
/@rtf.big><#t>
<@rtf.big>${otherText}<
/@rtf.big><#t>
<
/@rtf.document>

是不是很方便?你可以到这里去下载:http://www.freemarker.org/libraries.html


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有