`
wutao8818
  • 浏览: 618177 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

HOWTO: Use Freemarker, SiteMesh, and Spring MVC(2)

阅读更多

Here's an example of the Freemarker files used with the configuration above:

/WEB-INF/freemarker/index.ftl (the home page content)
Important to note is that we are importing a custom Freemarker macro library (kzspring.ftl) from the classpath:modules folder on line 5, but if we needed to customize it for this site, we could have put it into the WAR file's /modules/ directory.

Code:
<#ftl strip_whitespace=true>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<#assign page=JspTaglibs["/WEB-INF/taglibs/sitemesh-page.tld"]>
<#assign decorator=JspTaglibs["/WEB-INF/taglibs/sitemesh-decorator.tld"]>
<#import "/kzspring.ftl" as k />
<html>
<head>
<title>Kazaam Home Page</title>
</head>
<body>
<p>This is the content of the Kazaam Home Page</p>
</body>
</html>

/decorators/main.ftd (The main SiteMesh decorator)

Code:
<#ftl strip_whitespace=true>
<#assign authz=JspTaglibs["/WEB-INF/taglibs/authz.tld"]>
<#import "/kzspring.ftl" as k />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>${title}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-language" content="${currentlang!'en'}" />
${head}
</head>
<body class="sidebars">
<div id="wrapper">
	<div id="container" class="clear-block">
		<div id="header">
		</div><!-- header -->
		<div id="sidebar-left" class="sidebar">
		</div><!-- sidebar-left -->
		<div id="center">
			{body}
		</div><!-- center -->
		<div id="sidebar-right" class="sidebar">
		</div><!-- sidebar-right -->
	</div>
</div>
</body>
</html>

classpath:modules/cms/page-create.ftl - This is the Page creation screen for our Content Management System. If we need to customize it for a site, we would copy it to the site's /modules/cms folder.
Note that kzspring.ftl is a customization of Spring's spring.ftl , so it has all the Spring MVC form macros, etc. You won't be able to use this file exactly because it references our custom domain classes representing a Page (form.page.title, etc) but you get the idea.

Code:
<#ftl strip_whitespace=true>
<#import "/kzspring.ftl" as k />
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title><#if RequestParameters.pageId??>Edit<#else>Add</#if> ${form.page.type?cap_first}</title>
</head>
<body>
<h1>Create a New Page</h1>
<form action="${currentUriWithQuery!''}" method="post">
	<fieldset class="page-form">
		<div class="form-item">
			<@k.formLabel path="form.page.title" message="Title" cssErrorClass="label-error" required=true/>
			<@k.formInput path="form.page.title" attributes="size=\"70\"" />
			<div class="description">The title of the ${form.page.type}.  Will be displayed with the content</div>
		</div>
	</fieldset>
</form:form>
</body>
</html>

Note that in all the above Freemarker files, I imported the kzspring.ftl file by referencing it using an absolute path with a leading slash (/) - even though it is in the package modules/kzspring.ft - because our templateLoaderPaths set modules as a root, we don't need to include 'modules' in the import statement.

分享到:
评论

相关推荐

    spring mvc +freemarker不错的mvc搭配

    Spring MVC 是一个强大...在Spring MVC中集成FreeMarker,首先需要在项目的配置文件(如`servlet-context.xml`)中配置FreeMarker视图解析器。这通常包括指定模板目录、编码格式和是否缓存模板等设置。例如: ```xml ...

    spring mvc, tiles, freemarker集成

    标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个教程“Spring MVC - A Tutorial”旨在帮助开发者深入理解和掌握Spring MVC的核心概念和...

    spring mvc freemarker 简单例子

    Spring MVC 和 Freemarker 是两种广泛应用于Java Web开发的技术。Spring MVC 是一个基于Spring框架的Model-View-Controller架构,用于构建高效、灵活的Web应用程序。而Freemarker 是一款强大的模板引擎,它与后端...

    spring mvc step by step,例子

    4. **View**:视图负责渲染模型数据,Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 5. **HandlerMapping**:负责将请求映射到特定的控制器方法。 6. **HandlerAdapter**:适配器模式,使得Spring ...

    整合 freemarker +spring security + spring MVC + spring DATA jpa 前端jtable 简单的crud

    本项目结合了Freemarker、Spring Security、Spring MVC和Spring Data JPA,旨在实现前端JTable的简单CRUD(创建、读取、更新、删除)功能。以下是这些技术的详细介绍及其在项目中的应用。 **Freemarker** 是一个...

    spring mvc 3.0-mybatis-freemarker整合

    在本项目中,我们主要探讨的是如何将Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3 这三个强大的技术框架整合在一起,以构建一个高效且灵活的Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

    最全最经典spring-mvc教程

    Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...

    spring MVC .docx

    Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等。 5. **View**: 视图负责渲染模型中的数据并呈现给用户。它通常与某种模板语言结合,如JSP中的EL(Expression Language)和JSTL(JavaServer Pages ...

    spring MVC基础学习

    - 视图(View):负责渲染模型数据,Spring MVC支持多种视图技术如JSP、FreeMarker、Thymeleaf等。 5. **数据绑定与验证**: - 数据绑定:Spring MVC可以自动将请求参数绑定到Controller方法的参数上。 - 数据...

    开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp

    标题中的"开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp"表明这是一个关于Spring MVC框架的开发教程,其中包含了源代码供学习者参考。Spring MVC是Spring框架的一个核心组件...

    spring mvc 4.0

    7. **视图解析**:Spring MVC 4.0支持多种视图技术,如JSP、FreeMarker、Thymeleaf等,视图解析器可以根据配置自动选择合适的视图技术。 8. **异步处理**:Spring MVC 4.0引入了异步请求处理,通过@...

    Spring MVC 4.2.3

    2. **Java配置增强**:Spring 4.2.x系列进一步提升了Java配置的支持,使得在没有XML配置的情况下也能轻松地配置Spring MVC。 3. **RESTful支持**:Spring MVC提供了对RESTful风格的HTTP方法(如GET、POST、PUT、...

    spring MVC3 集成 freemarker

    **Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...

    Spring MVC and FreeMarker Sample

    **Spring MVC与FreeMarker整合应用详解** Spring MVC是Spring框架的一部分,它是一个强大的Web应用程序开发模型,用于构建灵活、可维护的Java Web应用。而FreeMarker则是一个模板引擎,允许开发者将逻辑代码与呈现...

    Spring MVC Cookbook(PACKT,2016).pdf

    2. **配置Spring MVC**:学习如何通过XML或Java配置来设置Spring MVC环境,包括servlet配置、组件扫描、MVC注解驱动等。 3. **Controller处理请求**:掌握@RequestBody、@RequestParam、@PathVariable等注解的用法...

    freemarker 与sitemesh 整合例子

    Freemarker和Sitemesh是两个在Web开发中常用的开源技术。Freemarker是一个模板引擎,主要用于生成动态HTML或其他文本格式的输出,而Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉。这两者的整合...

    Spring MVC框架实例

    - **View**: 负责呈现视图,Spring MVC 支持多种视图技术,如 JSP、FreeMarker、Thymeleaf 等。 - **HandlerMapping**: 将请求映射到处理器,Spring 2.5 中主要通过 XML 配置来实现。 - **HandlerAdapter**: 适配...

    spring MVC + freeMarker

    2. 配置Spring MVC:在Spring的配置文件(如:applicationContext.xml或配置类)中,需要配置FreeMarkerViewResolver,指定FreeMarker模板的位置、编码方式、默认后缀等参数。 3. 创建FreeMarker模板:在项目资源...

Global site tag (gtag.js) - Google Analytics