快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

Sitemesh学习[0]


使用sitemesh建立复合视图 - 1.hello
(作者:chen-neu ,提供应 huihoo.com 发布)
使用sitemesh建立复合视图 - 1.hello  <- now

使用sitemesh建立复合视图 - 2.装饰器  

使用sitemesh建立复合视图 - 3.其它讨论 

sitemesh是opensymphony团队开发的j2ee应用框架之一,旨在提高页面的可维护性和复用性。opensymphony的另一个广为人知的框架为webwork是用作web层的表示框架。他们都是开源的,可以在www.sf.net下找到。

应用于以下大项目的例子:http://opensource.thoughtworks.com/projects/sitemesh.html
www.jboss.org www.theserverside.com www.opensymphony.com www.atlassian.com 简介: sitemesh应用Decorator模式,用filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer,现在,在sitemesh的帮助下,我们可以开心的删掉他们了。如下图,你想轻松的达到复合视图模式,那末看完本文吧。


 
hello sitemesh: 在WEB-INF/web.xml中copy以下filter的定义:
<filter> <filter-name>sitemesh</filter-name> <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>
copy所需jar和dtd文件至相应目录,访问opensymphony.sourceforge.net的cvs以获取sitemesh最新版本。 sitemesh.jarWEB-INF/lib sitemesh-decorator.tldWEB-INF sitemesh-page.tldWEB-INF 建立WEB-INF/decorators.xml描述各装饰器页面(可仿照sitemesh例子)。
<decorators defaultdir="/_decorators"> <decorator name="main" page="main.jsp"> <pattern>*</pattern> </decorator></decorators>


建立装饰器页面 /_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>


建立一个的被装饰页面 /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标签。

 

 




返回类别: 教程
上一教程: Catalina-tomcat中处理非常的一个BUG?
下一教程: 一个聊天室中碰到的问题!

您可以阅读与"Sitemesh学习[0]"相关的教程:
· Sitemesh学习[1]
· Sitemesh学习[2]
· robbin:我为什么要学习Hibernate?
· 我的java学习经验谈1
· 转-如何学习java
    微笑服务 优质保证 索取样品