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

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教程

    SiteMesh官方文档翻译(含Freemarker但不包括velocity部分)

    struts2讲义_吴峻申

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

    struts-2.5.10-all所有jar包

    api-1.0.6.jar,tiles-request-freemarker-1.0.6.jar,tiles-request-jsp-1.0.6.jar,tiles-request-servlet-1.0.6.jar,tiles-servlet-3.0.7.jar,tiles-template-3.0.7.jar,validation-api-1.1.0.Final.jar,velocity-...

    java开发常用jar包

    freemarker-2.3.8.jar 模板相关操作需要包 struts2-core-2.0.14.jar struts2核心包 struts2-spring-plugin-2.0.14.jar struts2整合spring所需要的包 xwork-2.0.7.jar xwork核心包 antlr-2.7.6.jar 一个语言...

    Struts2 in action中文版

    8.3.2 FreemarkerResult,也叫做freemarker 191 8.4 全局结果 192 8.5 小结 193 第四部分 完善应用程序 第9章 集成Spring和Hibernate/JPA 196 9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 ...

    struts-2.3.30-all所有jar包

    freemarker-2.3.22.jar, google-collections-1.0.jar, google-gxp-0.2.4-beta.jar, guava-r09.jar, jackson-core-asl-1.9.2.jar, jackson-mapper-asl-1.9.2.jar, javassist-3.11.0.GA.jar, jcl-over-slf4j-1.5.8.jar...

    struts-2.5.2-all所有jar包

    aopalliance-1.0.jar, asm-3.3.jar, asm-commons-3.3.jar, asm-tree-3.3.jar, classworlds-1.1.jar, commons-beanutils-1.9.2.jar, ...velocity-1.7.jar, xmlpull-1.1.3.1.jar, xpp3_min-1.1.4c.jar, xstream-1.4.8.jar

    271个java需要用的jar包

    struts2-sitemesh-plugin-2.3.15.3.jar struts2-spring-plugin-2.3.15.3.jar struts2-struts1-plugin-2.3.15.3.jar struts2-testng-plugin-2.3.15.3.jar struts2-tiles-plugin-2.3.15.3.jar struts2-tiles3-plugin-...

    javaweb项目常用jar包

    freemarker-2.3.8.jar ftp-1.0.0.jar ggserver-core-1.0.jar ggserver-thematic-1.0.jar gson-1.6.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.8.Final.jar hibernate-jpa-2.1-...

Global site tag (gtag.js) - Google Analytics