sitemesh建立复合视图(2)

原创 2007年09月29日 04:52:00
简介:

sitemesh应用Decorator模式,用filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。
通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer,现在,
在sitemesh的帮助下,我们可以开心的删掉他们了。如下图,你想轻松的达到复合视图模式,那末看完本文吧。

 

hello sitemesh:
  1. 在WEB-INF/web.xml中copy以下filter的定义:
    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern> </filter-mapping>
    <taglib> <taglib-uri>sitemesh-decorator</taglib-uri>
    <taglib-location>/WEB-INF/sitemesh-decorator.tld</taglib-location> </taglib>
    <taglib> <taglib-uri>sitemesh-page</taglib-uri>
    <taglib-location>/WEB-INF/sitemesh-page.tld</taglib-location> </taglib>
  2. copy所需jar和dtd文件至相应目录,访问opensymphony.sourceforge.net的cvs以获取sitemesh最新版本。
    sitemesh.jar WEB-INF/lib
    sitemesh-decorator.tld WEB-INF
    sitemesh-page.tld WEB-INF
  3. 建立WEB-INF/decorators.xml描述各装饰器页面(可仿照sitemesh例子)。
    <decorators defaultdir="/_decorators">     
    <decorator name="main" page="main.jsp">
    <pattern>*</pattern> </decorator>
    </decorators>

     

  4. 建立装饰器页面 /_decorators/main.jsp
    <%@ page contentType="text/html; charset=GBK"%> 
    <%@ taglib uri="sitemesh-decorator" prefix="decorator" %>
    <html>
    <head> <title><decorator:title default="装饰器页面..." /></title>
    <decorator:head />
    </head>
    <body> sitemesh的例子<hr>
    <decorator:body />
    <hr>chen56@msn.com </body>
    </html>

     

  5. 建立一个的被装饰页面 /index.jsp(内容页面)
    <%@ page contentType="text/html; charset=GBK"%> 
    <html>
    <head> <title>Agent Test</title>
    </head>
    <body> <p>本页只有一句,就是本句.</p>
    </body>
    </html>

最后访问index.jsp,将生成如下页面:

而且,所有的页面也会如同index.jsp一样,被sitemesh的filter使用装饰模式修改成如上图般模样,却不用再使用include标签

 

Sitemesh 3 的使用及配置

1 . Sitemesh 3 简介 Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术。参考:百度百科,相关类似技...
  • z69183787
  • z69183787
  • 2015年07月18日 20:22
  • 1572

SiteMesh基本用法及示例

SiteMesh是基于Servlet的filter的,即过滤流。它是通过截取reponse,并进行装饰后再交付给客户。 其中涉及到两个名词: 装饰页面(decorator page)和 “被...
  • caomiao2006
  • caomiao2006
  • 2015年06月11日 22:43
  • 1738

javaWeb使用siteMesh和adminLTE美观CRM系统搭建

布局效果:     之前一直使用 EasyUi、  ExtJs 等重型高等级封装js控件,控件性能不好不说、BUG也不少,界面美化也不是很好看,诸多考虑,打算抛弃重型封装js控件,转向轻巧的css库...
  • xiao2shiqi
  • xiao2shiqi
  • 2016年05月31日 01:09
  • 3936

使用sitemesh建立复合视图 - 1.hello

http://docs.huihoo.com/java/sitemesh/ (作者:chen-neu ,提供给 huihoo.com 发布)   使用sitemesh建立复合视图 - 1....
  • caolaosanahnu
  • caolaosanahnu
  • 2013年08月27日 16:46
  • 521

使用sitemesh建立复合视图

sitemesh是opensymphony团队开发的j2ee应用框架之一,旨在提高页面的可维护性和复用性。opensymphony的另一个广为人知的框架为webwork是用作web层的表示框架。他们都...
  • zpf644792799
  • zpf644792799
  • 2011年09月14日 11:58
  • 190

使用sitemesh建立复合视图

sitemesh是opensymphony团队开发的j2ee应用框架之一,旨在提高页面的可维护性和复用性。opensymphony的另一个广为人知的框架为webwork是用作web层的表示框架。他们都...
  • voyage_mh1987
  • voyage_mh1987
  • 2012年03月14日 09:48
  • 569

sitemesh decorators 复合页面Demo

1、下载sitemesh-2.4.2.jar添加到classpath里面。 2、web.xml  文件中添加filter sitemesh com.opensymphony.modu...
  • ssyang_0102
  • ssyang_0102
  • 2014年01月09日 14:24
  • 782

ofbiz之entity 实体解析 扩展 视图 复合列写法

ofbiz 之entity实体 1. 实体定义文件 实体定义文件一般存放位置是在对应模块的entity文件夹下面,以party为例,party的实体定义文件路径为%ofbiz-home%\app...
  • jenny8080
  • jenny8080
  • 2016年08月12日 09:14
  • 212

Apache Tiles 学习(一)、复合视图模式

摘要: 项目需要使用Apache Tiles,现在学习下并留下相关记录,以待或续查看及大家相互学习! Apache Tiles 是什么? A free open-sourced templ...
  • u013456370
  • u013456370
  • 2017年12月14日 15:44
  • 20

ofbiz之entity 实体解析 扩展 视图 复合列写法

ofbiz之entity实体解析 扩展 视图 复合列写法
  • xinyuan_java
  • xinyuan_java
  • 2016年02月24日 14:42
  • 688
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sitemesh建立复合视图(2)
举报原因:
原因补充:

(最多只允许输入30个字)