博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用sitemesh建立复合视图 - 1.hello
阅读量:5816 次
发布时间:2019-06-18

本文共 2086 字,大约阅读时间需要 6 分钟。

  <- now

  

 

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

应用于以下大项目的例子:http://opensource.thoughtworks.com/projects/sitemesh.html

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

index_example-diagram.gif

 

hello sitemesh:
  1. 在WEB-INF/web.xml中copy以下filter的定义:

      
    sitemesh
      
    com.opensymphony.module.sitemesh.filter.PageFilter
      
    sitemesh
      
    /*
      
    sitemesh-decorator
      
    /WEB-INF/sitemesh-decorator.tld
      
    sitemesh-page
      
    /WEB-INF/sitemesh-page.tld

copy所需jar和dtd文件至相应目录,访问的cvs以获取sitemesh最新版本。

sitemesh.jar WEB-INF/lib
sitemesh-decorator.tld WEB-INF
sitemesh-page.tld WEB-INF

建立WEB-INF/decorators.xml描述各装饰器页面(可仿照sitemesh例子)。

    
        
*
    



建立装饰器页面 /_decorators/main.jsp

<%@ page contentType="text/html; charset=GBK"%><%@ taglib uri="sitemesh-decorator" prefix="decorator" %>      <decorator:title default="装饰器页面..." />    
        sitemesh的例子

    
    

chen56@msn.com  


建立一个的被装饰页面 /index.jsp(内容页面)

<%@ page contentType="text/html; charset=GBK"%>      Agent Test        

本页只有一句,就是本句.

  

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

index_sitemesh.jpg

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

 

 本文转自wiwi博客51CTO博客,原文链接http://blog.51cto.com/wiwili/1969771如需转载请自行联系原作者

wiwili

你可能感兴趣的文章
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
Linux内核中的printf实现【转】
查看>>
第四章 mybatis批量insert
查看>>
Java并发框架——什么是AQS框架
查看>>
【数据库】
查看>>
Win配置Apache+mod_wsgi+django环境+域名
查看>>
第四届中国汽车产业信息化技术创新峰会将于6月在沪召开
查看>>
linux清除文件内容
查看>>
WindowManager.LayoutParams 详解
查看>>
find的命令的使用和文件名的后缀
查看>>
Android的Aidl安装方法
查看>>
Linux中rc的含义
查看>>
曾鸣:区块链的春天还没有到来| 阿里内部干货
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
js之无缝滚动
查看>>
Django 多表联合查询
查看>>
logging模块学习:basicConfig配置文件
查看>>
Golang 使用 Beego 与 Mgo 开发的示例程序
查看>>