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 是一个强大...在Spring MVC中集成FreeMarker,首先需要在项目的配置文件(如`servlet-context.xml`)中配置FreeMarker视图解析器。这通常包括指定模板目录、编码格式和是否缓存模板等设置。例如: ```xml ...
标题中的“Spring MVC, Tiles, Freemarker集成”指的是在Java Web开发中,将Spring MVC作为控制器框架,Tiles作为页面布局工具,而Freemarker作为视图模板引擎进行整合使用的技术方案。这种集成可以帮助开发者构建...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个教程“Spring MVC - A Tutorial”旨在帮助开发者深入理解和掌握Spring MVC的核心概念和...
Spring MVC 和 Freemarker 是两种广泛应用于Java Web开发的技术。Spring MVC 是一个基于Spring框架的Model-View-Controller架构,用于构建高效、灵活的Web应用程序。而Freemarker 是一款强大的模板引擎,它与后端...
4. **View**:视图负责渲染模型数据,Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 5. **HandlerMapping**:负责将请求映射到特定的控制器方法。 6. **HandlerAdapter**:适配器模式,使得Spring ...
本项目结合了Freemarker、Spring Security、Spring MVC和Spring Data JPA,旨在实现前端JTable的简单CRUD(创建、读取、更新、删除)功能。以下是这些技术的详细介绍及其在项目中的应用。 **Freemarker** 是一个...
在本项目中,我们主要探讨的是如何将Spring MVC 3.0、MyBatis 3 和 Freemarker 2.3 这三个强大的技术框架整合在一起,以构建一个高效且灵活的Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...
Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等。 5. **View**: 视图负责渲染模型中的数据并呈现给用户。它通常与某种模板语言结合,如JSP中的EL(Expression Language)和JSTL(JavaServer Pages ...
- 视图(View):负责渲染模型数据,Spring MVC支持多种视图技术如JSP、FreeMarker、Thymeleaf等。 5. **数据绑定与验证**: - 数据绑定:Spring MVC可以自动将请求参数绑定到Controller方法的参数上。 - 数据...
标题中的"开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp"表明这是一个关于Spring MVC框架的开发教程,其中包含了源代码供学习者参考。Spring MVC是Spring框架的一个核心组件...
7. **视图解析**:Spring MVC 4.0支持多种视图技术,如JSP、FreeMarker、Thymeleaf等,视图解析器可以根据配置自动选择合适的视图技术。 8. **异步处理**:Spring MVC 4.0引入了异步请求处理,通过@...
2. **Java配置增强**:Spring 4.2.x系列进一步提升了Java配置的支持,使得在没有XML配置的情况下也能轻松地配置Spring MVC。 3. **RESTful支持**:Spring MVC提供了对RESTful风格的HTTP方法(如GET、POST、PUT、...
**Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...
**Spring MVC与FreeMarker整合应用详解** Spring MVC是Spring框架的一部分,它是一个强大的Web应用程序开发模型,用于构建灵活、可维护的Java Web应用。而FreeMarker则是一个模板引擎,允许开发者将逻辑代码与呈现...
2. **配置Spring MVC**:学习如何通过XML或Java配置来设置Spring MVC环境,包括servlet配置、组件扫描、MVC注解驱动等。 3. **Controller处理请求**:掌握@RequestBody、@RequestParam、@PathVariable等注解的用法...
Freemarker和Sitemesh是两个在Web开发中常用的开源技术。Freemarker是一个模板引擎,主要用于生成动态HTML或其他文本格式的输出,而Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉。这两者的整合...
- **View**: 负责呈现视图,Spring MVC 支持多种视图技术,如 JSP、FreeMarker、Thymeleaf 等。 - **HandlerMapping**: 将请求映射到处理器,Spring 2.5 中主要通过 XML 配置来实现。 - **HandlerAdapter**: 适配...
2. 配置Spring MVC:在Spring的配置文件(如:applicationContext.xml或配置类)中,需要配置FreeMarkerViewResolver,指定FreeMarker模板的位置、编码方式、默认后缀等参数。 3. 创建FreeMarker模板:在项目资源...