`
cuisuqiang
  • 浏览: 3960177 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3670020
社区版块
存档分类
最新评论

SiteMesh结合Freemarker或velocity使用

阅读更多

Freemarker 入门示例 http://cuisuqiang.iteye.com/blog/2031768
FreeMarker 整合Struts2示例 http://cuisuqiang.iteye.com/blog/2031860

SiteMesh入门示例 http://cuisuqiang.iteye.com/blog/2066166 

 

那么如何将Freemarker与SiteMesh结合起来使用,这在官方示例中已经有了相关例子。
查看官方示例中decorators.xml文件,里面有一段是关于Freemarker使用的

<decorator name="freemarker" page="freemarker.ftl">
	<pattern>/freemarker.html</pattern>
</decorator>

 

也就是说请求freemarker.html时会拦截并处理,并发freemarker.ftl作为默认页面处理
看一下freemarker.ftl的内容,因为在JSP中是使用标签来获取Head或者Body的,所以在这个页面主要是看看如何获取这些元素。

<html>
	<head>
		<title>Freemarker Decorator - ${title}</title>
		<link href="${base}/decorators/main.css" rel="stylesheet" type="text/css">
	    ${head}
	</head>
    <body>
      <div id="pageTitle">${title}</div>
      <hr/>
      ${body}
      <div id="footer">
          <b>Disclaimer:</b> This site is an example site to demonstrate SiteMesh. It serves no other purpose.
      </div>
	</body>
</html>

 

可以看到,直接通过$来获取几个元素,${title}、 ${head}、${base}、${title}、${body}
velocity的结合是一样的,看看关于他的配置

<decorator name="velocity" page="velocity.vm">
	<pattern>/velocity.html</pattern>
</decorator>

 

看看velocity.vm页面内容

<html>
	<head>
		<title>Velocity Decorator - $title</title>
		<link href="$base/decorators/main.css" rel="stylesheet" type="text/css">
	    $head
	</head>
    <body>
      <div id="pageTitle">$title</div>
      <hr/>
      $body
      <div id="footer">
          <b>Disclaimer:</b> This site is an example site to demonstrate SiteMesh. It serves no other purpose.
      </div>
	</body>
</html>

 

不多解释了。

 

请您到ITEYE网站看 java小强 原创,谢谢!
http://cuisuqiang.iteye.com/

自建博客地址:http://www.javacui.com/ ,内容与ITEYE同步!

1
0
分享到:
评论
1 楼 jackyrong 2014-05-14  
sitemesh有个麻烦的地方,就是如果页面中要exclude的页面太多,比如ajax的(ajax)的我解决了,还有新打开窗口的,xml中exclude的东西太多了

相关推荐

    siteMesh demo 例子

    入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt

    sitemesh

    `freemarker.html` 和 `velocity.html` 暗示了Sitemesh可以与FreeMarker和Velocity这两个模板引擎集成,使得动态内容的渲染更加便捷。`meta.html` 和 `meta2.html` 可能是用来演示或测试元数据(如网页标题、描述等...

    sitemesh的使用和例子

    - **google.html**、**freemarker.html**、**velocity.html**:可能展示了如何与Google搜索、FreeMarker或Velocity模板引擎集成。 - **meta.html**、**meta2.html**:可能涉及到元标签的处理,如如何处理页面的元...

    SiteMesh入门示例

    继续探索 SiteMesh 的高级特性,如自定义 Decorator 选择策略、使用 Freemarker 或 Velocity 作为模板引擎,以及与其他 MVC 框架(如 Struts 或 Spring MVC)的集成,将进一步提升你的 Web 开发技能。记住,实践是...

    sitemesh3官方下载包

    - **模板语言**:Sitemesh3支持多种模板语言,如JSP、FreeMarker、Velocity等,让开发者可以根据项目需求选择合适的模板技术。 - **内容区域**:在装饰模板中,可以定义多个内容区域,比如`...

    sitemesh教程

    ### SiteMesh教程:官方文档翻译(含Freemarker但不包括velocity部分) #### 一、简介 SiteMesh是一个强大的Web页面布局工具,它允许开发者在Web应用中使用模板化的设计来构建网页。通过使用SiteMesh,可以很容易...

    sitemesh jar包

    与FreeMarker、Velocity等模板引擎相比,Sitemesh更专注于页面布局和装饰,而不仅仅是内容渲染。同时,与Spring Boot中的Thymeleaf相比,Sitemesh的配置和使用相对简单,但在某些复杂场景下可能不如Thymeleaf灵活。 ...

    Freemarker使用指南

    由于Freemarker与Web容器无关,因此它不直接处理Servlet或HTTP,而是专注于数据和模板的结合。 在性能方面,Freemarker与Velocity相比,虽然可能需要更多的配置和学习,但提供了更丰富的功能。根据Freemarker官网,...

    sitemesh所需jar包ver2.4.1and 2.4.2

    同时,它也可以与FreeMarker、Velocity等模板引擎配合使用。 10. **升级与迁移**: 从旧版本升级到2.4.1或2.4.2时,需要注意兼容性问题,确保所有装饰器和配置文件与新版本兼容。同时,查看官方文档中的变更日志,...

    siteMesh案例

    4. **模板语言**:除了使用HTML,还可以结合FreeMarker、Velocity等模板引擎,增强模板的表达能力。 总之,SiteMesh作为一款成熟的网页布局框架,它简化了Web开发中的页面布局问题,提升了开发效率和用户体验。通过...

    sitemesh简单demo

    除了基础功能,sitemesh 还提供了很多高级特性,如:自定义装饰器选择策略、页面属性传递、支持 Velocity 和 FreeMarker 等模板引擎等。这些特性使得 sitemesh 能够适应更复杂的项目需求。 通过这个“sitemesh简单...

    SiteMesh v2.4.1(full).zip

    5. **HTML 支持**:SiteMesh 支持 HTML4、XHTML 和 HTML5 标准,可以处理动态生成的页面,如 JSP、FreeMarker 或 Velocity 模板。 6. **插件体系**:SiteMesh 提供了一个插件系统,允许开发者扩展其功能,例如添加...

    sitemesh-2.2.1.rar

    3. **模板语言**:Sitemesh支持多种模板语言,包括JSP、FreeMarker、Velocity等。开发者可以根据项目需求选择合适的模板技术。 4. **配置灵活性**:Sitemesh的配置可以通过XML或Java代码进行,这为开发者提供了极大...

    Struts2.0 与 sitemesh的例子

    Struts2.0 和 Sitemesh 是两种在Java Web开发中广泛应用的技术,它们结合使用能够增强应用程序的用户体验和页面布局管理。Struts2.0 是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级的...

    Struts-2.2.3.1-all

    4. **模板技术**:Struts2支持多种视图模板技术,如JSP、FreeMarker、Velocity等,方便开发者选择最适合项目需求的模板引擎。 5. **插件体系**:Struts2拥有丰富的插件库,如Tiles、JSON、Ajax等,可以方便地扩展...

    struts2讲义_吴峻申

    6.2 freemarker视图技术使用介绍 128 6.3 JasperReports报表视图技术使用介绍 130 第7章 Struts2类型转换技术 135 7.1 Struts2类型转换使用介绍 135 7.1.1 基本数据类型转换功能 135 7.1.2 List集合类型数据类型转换...

    struts2核心工作流程与原理.doc

    这可能涉及JSP的包含、重定向,或者其他视图技术如FreeMarker或Velocity。 总的来说,Struts2的工作流程是一个典型的请求处理流程,它通过过滤器链进行预处理,然后由FilterDispatcher负责调度和执行Action,最后将...

    Struts2.1.8培训资料(推荐)

    5. **视图技术**:Struts2支持多种视图技术,如JSP、Freemarker、Velocity和XSLT,方便开发者根据项目需求选择合适的视图层实现。 6. **主题和标签库**:Struts2提供了丰富的主题和Ajax支持的标签库,可以轻松创建...

Global site tag (gtag.js) - Google Analytics