正在加载图片...
互动出版网 China-Pub. com 专业图书网上第一专营店 独家提供样章 51应用程序的需求和目标83 arker. jar FreemarkerTest Java 图5-1 FreeMarker运行结果 我觉得,这段代码具有一定的自我解释特性。 Free Marker的初始创建阶段,主要创建 Configuration对象并告诉它如何查看数据模型(它是一个对象包装器,不过这是一个更高级 的主题,暂时先跳过),以及告诉 Free Marker如何查找模板(在这个例子中,它是一个相对于使 用 FreeMarker的类的相对路径,因此这个模板必须位于伴随该类的默认包中)。一旦这个阶段完 成,则开始使用典型的方式填充Map,最后实例化这个模板(更特殊的情况是,告诉 Configuration对象你需要的模板,并由该对象来实例化模板),并借助数据Map来处理模板 输出到控制台,就是这样。非常简单! Free Marker提供一个很好的类似编程语言的选择结构,可以使用它们来组成循环、构建分支, 以及定义变量。不过, FreeMarker自己的描述中也讲到,它还不足以构成一个完整的编程语言。 请尽量保持模板简单而又普通,这样才是明智的。 WIki应用程序中的模板不会比这第一个例子 复杂,因此我们不会深入讨论 Free Marker的使用细节。不过,我想你会认同我的观点, FreeMarker 是一个方便使用的小工具,留在身边不会有错! 在这本书中,我们并没有太深入地讨论 Free Marker,不过它的功能远不止这里所介绍的 FreeMarker被应用到许多知名的应用程序和框架中, Struts2就是一个突出的例子,因而它的起 源非常好。我建议你花一些时间浏览 Free Marker网站htp!/ /freemarker sourceforge. net, FreeMarker 的好处之一是,它的文档非常棒,而且 FreeMarker团队会花时间讲解一些很好的例子。我相信它 会增长你的见识。就个人经验而言,我仅在几个月前才看到有 FreeMarke这个项目,但是从那以 后,我发现我会经常使用它,且很容易就可以把它加到我正在编码的环境中。它是我最近几年 来遇到的最有用的库之一,因此花些时间研究一下,我想你会和我一样发现它很有用 5.1.2 Apache Derby 接下来的难题是如何以及在哪里存储用户在DWk中创建的内容。当然,我们有多种选择。 可以将内容存储在文件系统中,实际上我最初也是这样计划的。不过这个方案有不少的问题,最 重要的是在一些环境中并不能在Web应用程序中操作文件系统。我希望DWik至少对读者有用 因此不能假设你必须在不允许写入文件系统的环境中运行DWki 另一个方案是数据库,这是我最后确定的方案,也是引入 Derby的原因 Derby最初是 Cloudscape公司的一个名为JBMS的产品。首次发布时间是1997年。没过多久,准5.1 应用程序的需求和目标 83 图5-1 FreeMarker运行结果 我觉得,这段代码具有一定的自我解释特性。FreeMarker的初始创建阶段,主要创建 Configuration对象并告诉它如何查看数据模型(它是一个对象包装器,不过这是一个更高级 的主题,暂时先跳过),以及告诉FreeMarker如何查找模板(在这个例子中,它是一个相对于使 用FreeMarker的类的相对路径,因此这个模板必须位于伴随该类的默认包中)。一旦这个阶段完 成,则开始使用典型的方式填充Map,最后实例化这个模板(更特殊的情况是,告诉 Configuration对象你需要的模板,并由该对象来实例化模板),并借助数据Map来处理模板。 输出到控制台,就是这样。非常简单! FreeMarker提供一个很好的类似编程语言的选择结构,可以使用它们来组成循环、构建分支, 以及定义变量。不过,FreeMarker自己的描述中也讲到,它还不足以构成一个完整的编程语言。 请尽量保持模板简单而又普通,这样才是明智的。DWiki应用程序中的模板不会比这第一个例子 复杂,因此我们不会深入讨论FreeMarker的使用细节。不过,我想你会认同我的观点,FreeMarker 是一个方便使用的小工具,留在身边不会有错! 在这本书中,我们并没有太深入地讨论FreeMarker,不过它的功能远不止这里所介绍的。 FreeMarker被应用到许多知名的应用程序和框架中,Struts 2就是一个突出的例子,因而它的起 源非常好。我建议你花一些时间浏览FreeMarker网站http://freemarker.sourceforge.net。FreeMarker 的好处之一是,它的文档非常棒,而且FreeMarker团队会花时间讲解一些很好的例子。我相信它 会增长你的见识。就个人经验而言,我仅在几个月前才看到有FreeMarker这个项目,但是从那以 后,我发现我会经常使用它,且很容易就可以把它加到我正在编码的环境中。它是我最近几年 来遇到的最有用的库之一,因此花些时间研究一下,我想你会和我一样发现它很有用。 5.1.2 Apache Derby 接下来的难题是如何以及在哪里存储用户在DWiki中创建的内容。当然,我们有多种选择。 可以将内容存储在文件系统中,实际上我最初也是这样计划的。不过这个方案有不少的问题,最 重要的是在一些环境中并不能在Web应用程序中操作文件系统。我希望DWiki至少对读者有用, 因此不能假设你必须在不允许写入文件系统的环境中运行DWiki。 另一个方案是数据库,这是我最后确定的方案,也是引入Derby的原因。 Derby最初是Cloudscape公司的一个名为JBMS的产品。首次发布时间是1997年。没过多久,准
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有