SiteMesh如何结合Freemarker及velocity使用
Freemarker 入门示例 https://www.jb51.net/article/197670.htm
FreeMarker 整合Struts2示例 https://www.jb51.net/article/197698.htm
SiteMesh入门示例 https://www.jb51.net/article/197668.htm
那么如何将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="external nofollow" 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="external nofollow" 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>
不多解释了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Java SiteMesh新手学习教程代码案例
官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home 也可以下载官方的示例Demo参考和学习,这里我只做一个简单示例,演示最基本的使用 首先就是加Jar包,我用的是sitemesh-2.4.2.jar,然后在web.xml中增加过滤器: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns=&
-
JAVA velocity模板引擎使用实例
velocity使用1.7版本. 在win7下使用intelliJ IDEA建立一基于tomcat的web app项目,命名为todo_web,设置path为/todo,导入velocity相关jar包.只导入velocity-1.7.jar这个包可能会报错,根据提示再导入velocity自带的其他包. 项目结构如下: 测试Tomcat index.jsp内容如下: 复制代码 代码如下: <%-- Created by IntelliJ IDEA. --%><%@ page conten
-
SpringBoot与velocity的结合的示例代码
Velocity是一种Java模版引擎技术,MVC架构的一种实现,但它更多的是关注在Model和View之间,作为它们的桥梁.服务端渲染,我们使用最多的就是用他来渲染HTML.下面我们看看他与spring boot的结合. 老样子,我们看下pom中定义的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifact
-
velocity显示List与Map的方法详细解析
一.遍历个map类型 1.先看后台java程序Java代码 复制代码 代码如下: Map<String,String> paramValues=new HashMap<String, String>(); *** *** 中间赋值操作省略了 *** data.put("paramValues", paramValues);//传值给velocity 2.前台velocity模板文件中取出这个map的key和valueJav
-
html文件中jquery与velocity变量中的$冲突的解决方法
问题描述: 在使用velocity模版引擎的环境下,使用jquery时,如:$.fullCalendar.gcalFeed('http://www.google.com/calendar/feeds/sfzc1%40realintelligence.com/public/basic') 其中$与velocity变量中的$冲突. 解决方案: 定义一个velocity变量:#set($jquery="$.") 然后:${jquery}fullCalendar.gcalFeed('http:
-
如何解决SpringBoot2.x版本对Velocity模板不支持的方案
背景 在springboot1.4.x版本之前对velocity的模板支持的是相当好的,不止出于什么原因springboot从1.5.x以后停止了对velocity的支持,甚至在2.x版本中移除了和velocity的相关代码.目前手上有些项目使用的是velocity模板引擎,同时也使用了springboot,现在想升级到springboot2.x,同时还想继续使用velocity,怎么办?springboot不支持,就自己想办法支持下吧. 思路:把springboot早期版本的velocity支
-
Velocity基本语法介绍
一.基本语法1."#"用来标识Velocity的脚本语句,包括#set.#if .#else.#end.#foreach.#end.#iinclude.#parse.#macro等:如:#if($info.imgs)<img src="http://jb51.net/ydmx_lei/blog/$info.imgs" border=0>#else<img src="http://jb51.net/ydmx_lei/blog/noPhoto
-
jsp中sitemesh修改tagRule技术分享
sitemesh默认提供了一些常用的rule 可以看到其实可以选择 /** * Extracts the contents of any elements that look like * <code><content tag='foo'>...</content></code> and write the contents * to a page property (page.foo). * * <p>This is a cheap and c
-
SiteMesh如何结合Freemarker及velocity使用
Freemarker 入门示例 https://www.jb51.net/article/197670.htm FreeMarker 整合Struts2示例 https://www.jb51.net/article/197698.htm SiteMesh入门示例 https://www.jb51.net/article/197668.htm 那么如何将Freemarker与SiteMesh结合起来使用,这在官方示例中已经有了相关例子. 查看官方示例中decorators.xml文件,里面有一段是
-
Spring Boot如何集成模板引擎FreeMarker
一.Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在java中,主要的模板引擎有JSP.Thymeleaf.FreeMarker.Velocity等. 虽然随着前后端分离的崛起和流行,模板引擎已遭受到冷落,但不少旧项目依然使用java的模板引擎渲染界面,而偶尔自己写一些练手项目,使用模板引擎也比起前后端分离要来的快速. 本系列会分别讲解SpringBoot
-
Struts 2中的constant配置详解
1.<constant name="struts.i18n.encoding" value="UTF-8" /> 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法. 2.<constant name="struts.i18n.reload" value="false"/> 该属性设置是否每次HTTP请求到达时,系统都重新加载资源文
-
struts2中常用constant命令配置方法
struts.objectFactory这个属性用 于说明Struts2的 对象池创建工厂,Struts2也有自己的对象池,就像Spring那样,在配置文件中你可以引用对象池中的对象,你可以借助于Spring中的对象池, 当想要得到Spring中的对象池时,申明struts.objectFactory为Spring的对象池构建工厂.... struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响
-
JavaWeb工程中集成YMP框架快速上手
了解YMP框架 YMP于2014年10月25日正式发布1.0版本,在此之前就已在实际项目中得到广泛使用,从最初仅限团队内部使用,到合作伙伴的开发团队,再到身边的朋友,和朋友的朋友们也开始将YMP投入到实际项目中去,所以在这里我要向一直以来帮助.支持我的这些同事.朋友们表示衷心的感谢!是大家的信赖和对它的认可,才使得YMP快速成长起来,在变化过程中它一直在不断的改进.优化直至最终对外发布. 没有完美的框架,只有适合的才是好的,为了让YMP更简单易用,从2015年1月26日正在开始了v2版本的开发,
-
JSON 学习之完全手册 图文
第一章 何谓JOSN JSON:JavaScript Object Notation 是Javascript (jscript.ECMA Javascript等)描述对象数据(各种元数据其实也是最简单的对象)的一种数据结构.概念和用法均类似于Hash(哈希表)或者关联数组. JSON建构于两种结构: "名称/值"对的集合(A collection of name/value pairs).不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(d
-
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
目录 一.AJAX示例 1.1.优点 1.2.缺点 1.3.jQuery AJAX示例 二.延迟对象(Deferred) 2.1.回调函数 2.2.deferred.done 三.跨域 3.1.什么是跨域 3.2.JSONP跨域 3.3.jQuery使用JSONP跨域 3.4.跨域资源共享(CORS) 3.5.小结 四.弹出层 五.模板引擎 5.1.Hello World 5.2.方法 5.3.与AJAX结合应用 六.示例下载 一.AJAX示例 AJAX全称为"Asynchronous Java
-
Struts2开发 基本配置与类型转换
一.Action配置中的各项默认值 <package name="csdn" namespace="/test" extends="struts-default"> <action name="helloworld" class="cn.csdn.action.HelloWorldAction" method="execute" > <resu
-
Java自定义简单标签实例
下面将以权限的控制为例自定义一个标签:一.标签类型 复制代码 代码如下: <wxt:per uri="${pageContext.request.contextPath }/privilege/list"></wxt:per> 步骤:1.自定义一个类PerssionTag 继承SimpleTagSupport(自定义标签一般都会继承这个类) 复制代码 代码如下: package cn.com.liveuc.privilege.tag;import java.io
-
一个合格JAVA软件工程师应该具备什么
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的. 一.专业技能 1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等. 2.熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练
随机推荐
- 移动端刮刮乐的实现方式(js+HTML5)
- VB6反编译软件VB RezQV2.4a 正式版注册码
- js 判断控件获得焦点的示例代码
- Python新手实现2048小游戏
- python获得linux下所有挂载点(mount points)的方法
- c++ 巧开平方的实现代码
- 详解Node中导入模块require和import的区别
- MySQL索引操作命令详解
- 深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
- php上传图片生成缩略图(GD库)
- 关于多个Ajax请求执行返回先后的问题示例探讨
- 精妙的SQL语句
- 一种让页面完全把过来显示的脚本代码
- 全面解析JavaScript中“&&”和“||”操作符(总结篇)
- java后台接收app上传的图片的示例代码
- Exchange2013提示“出现意外错误,无法处理您的请求”处理方案
- android全局监控click事件的四种方式(小结)
- Java日期操作方法工具类实例【包含日期比较大小,相加减,判断,验证,获取年份等】
- .net输出重写压缩页面文件的小例子
- 浅谈返回函数内部new分配的内存的引用