SiteMesh如何结合Freemarker及velocity使用

 更新时间:2020年10月19日 11:27:42   作者:cuisuqiang  
这篇文章主要介绍了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> 

不多解释了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

最新评论