Struts+Freemarker一对超强组合(2)

原创 2005年02月27日 19:29:00

由于灵活使用了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

Struts+Freemarker一对超强组合

一:Struts让你不再关心servlet如何摆放,Freemarker让你轻松进行页面上的安排,并且两者间参数传递毫无问题。简直是天生的搭配。两者的关联struts自带的tld标签包括html、lo...
  • a_heng
  • a_heng
  • 2008-10-20 13:39:00
  • 1185

Struts+Freemarker一对超强组合(1)

    Struts让你不再关心servlet如何摆放,Freemarker让你轻松进行页面上的安排,并且两者间参数传递毫无问题。简直是天生的搭配。两者的关联struts自带的tld标签包括html、...
  • zoucui
  • zoucui
  • 2006-11-16 17:49:00
  • 2148

SQL注入工具超强组合专业版

  • 2011年12月24日 21:51
  • 20.29MB
  • 下载

PHP MySQL Apache超强组合pdg格式

  • 2008年10月18日 22:56
  • 12.97MB
  • 下载

struts+freemarker 源码例

  • 2009年02月11日 17:27
  • 2.25MB
  • 下载

jQuery、JSON超强组合

  • 2008年11月15日 17:38
  • 142KB
  • 下载

PHP MySQL Apache超强组合

  • 2008年10月16日 11:49
  • 13.02MB
  • 下载

Sybase.PowerDesiner.v12.0破解补丁+ 汉化超强组合

  • 2008年07月21日 10:27
  • 747KB
  • 下载

List中的每个元素,两两为一对(不包括自身)组合

import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ListColle...
  • u014221266
  • u014221266
  • 2015-07-16 14:48:37
  • 2681

jQuery、JSON超强组合

通过AJAX异步减少网络内容传输,而JSON则可以把传输内容缩减到纯数据;然后利用jQuery内置的AJAX功能直接获得JSON格式的数据;在客户端直接绑定到数据控件里面,从而达到最优。1.设计htm...
  • ulark
  • ulark
  • 2010-01-08 14:05:00
  • 629
收藏助手
不良信息举报
您举报文章:Struts+Freemarker一对超强组合(2)
举报原因:
原因补充:

(最多只允许输入30个字)