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同步!
相关推荐
入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt
`freemarker.html` 和 `velocity.html` 暗示了Sitemesh可以与FreeMarker和Velocity这两个模板引擎集成,使得动态内容的渲染更加便捷。`meta.html` 和 `meta2.html` 可能是用来演示或测试元数据(如网页标题、描述等...
- **google.html**、**freemarker.html**、**velocity.html**:可能展示了如何与Google搜索、FreeMarker或Velocity模板引擎集成。 - **meta.html**、**meta2.html**:可能涉及到元标签的处理,如如何处理页面的元...
继续探索 SiteMesh 的高级特性,如自定义 Decorator 选择策略、使用 Freemarker 或 Velocity 作为模板引擎,以及与其他 MVC 框架(如 Struts 或 Spring MVC)的集成,将进一步提升你的 Web 开发技能。记住,实践是...
- **模板语言**:Sitemesh3支持多种模板语言,如JSP、FreeMarker、Velocity等,让开发者可以根据项目需求选择合适的模板技术。 - **内容区域**:在装饰模板中,可以定义多个内容区域,比如`...
### SiteMesh教程:官方文档翻译(含Freemarker但不包括velocity部分) #### 一、简介 SiteMesh是一个强大的Web页面布局工具,它允许开发者在Web应用中使用模板化的设计来构建网页。通过使用SiteMesh,可以很容易...
与FreeMarker、Velocity等模板引擎相比,Sitemesh更专注于页面布局和装饰,而不仅仅是内容渲染。同时,与Spring Boot中的Thymeleaf相比,Sitemesh的配置和使用相对简单,但在某些复杂场景下可能不如Thymeleaf灵活。 ...
由于Freemarker与Web容器无关,因此它不直接处理Servlet或HTTP,而是专注于数据和模板的结合。 在性能方面,Freemarker与Velocity相比,虽然可能需要更多的配置和学习,但提供了更丰富的功能。根据Freemarker官网,...
同时,它也可以与FreeMarker、Velocity等模板引擎配合使用。 10. **升级与迁移**: 从旧版本升级到2.4.1或2.4.2时,需要注意兼容性问题,确保所有装饰器和配置文件与新版本兼容。同时,查看官方文档中的变更日志,...
4. **模板语言**:除了使用HTML,还可以结合FreeMarker、Velocity等模板引擎,增强模板的表达能力。 总之,SiteMesh作为一款成熟的网页布局框架,它简化了Web开发中的页面布局问题,提升了开发效率和用户体验。通过...
除了基础功能,sitemesh 还提供了很多高级特性,如:自定义装饰器选择策略、页面属性传递、支持 Velocity 和 FreeMarker 等模板引擎等。这些特性使得 sitemesh 能够适应更复杂的项目需求。 通过这个“sitemesh简单...
5. **HTML 支持**:SiteMesh 支持 HTML4、XHTML 和 HTML5 标准,可以处理动态生成的页面,如 JSP、FreeMarker 或 Velocity 模板。 6. **插件体系**:SiteMesh 提供了一个插件系统,允许开发者扩展其功能,例如添加...
3. **模板语言**:Sitemesh支持多种模板语言,包括JSP、FreeMarker、Velocity等。开发者可以根据项目需求选择合适的模板技术。 4. **配置灵活性**:Sitemesh的配置可以通过XML或Java代码进行,这为开发者提供了极大...
Struts2.0 和 Sitemesh 是两种在Java Web开发中广泛应用的技术,它们结合使用能够增强应用程序的用户体验和页面布局管理。Struts2.0 是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级的...
4. **模板技术**:Struts2支持多种视图模板技术,如JSP、FreeMarker、Velocity等,方便开发者选择最适合项目需求的模板引擎。 5. **插件体系**:Struts2拥有丰富的插件库,如Tiles、JSON、Ajax等,可以方便地扩展...
6.2 freemarker视图技术使用介绍 128 6.3 JasperReports报表视图技术使用介绍 130 第7章 Struts2类型转换技术 135 7.1 Struts2类型转换使用介绍 135 7.1.1 基本数据类型转换功能 135 7.1.2 List集合类型数据类型转换...
这可能涉及JSP的包含、重定向,或者其他视图技术如FreeMarker或Velocity。 总的来说,Struts2的工作流程是一个典型的请求处理流程,它通过过滤器链进行预处理,然后由FilterDispatcher负责调度和执行Action,最后将...
5. **视图技术**:Struts2支持多种视图技术,如JSP、Freemarker、Velocity和XSLT,方便开发者根据项目需求选择合适的视图层实现。 6. **主题和标签库**:Struts2提供了丰富的主题和Ajax支持的标签库,可以轻松创建...