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标签。

 

 

时间: 2025-01-21 03:52:15

Sitemesh学习[0]的相关文章

Sitemesh学习[2]

使用sitemesh建立复合视图 - 3.其他讨论 使用sitemesh建立复合视图 - 1.hello  使用sitemesh建立复合视图 - 2.装饰器   使用sitemesh建立复合视图 - 3.其它讨论 <- now 前面的文章已经足以应用sitemesh来改善您的应用,但我发现还有一些其他的东东可能也会对大家有所帮助可打印的界面装饰 前面说过有1种可打印的装饰器,可以允许你当用http://localhost/aaa/a.html?printable=true方式访问时,应用其他的装

Sitemesh学习[1]

使用sitemesh建立复合视图 - 2.装饰器  decorator 使用sitemesh建立复合视图 - 1.hello  使用sitemesh建立复合视图 - 2.装饰器  <- now 使用sitemesh建立复合视图 - 3.其它讨论装饰器  decorator概念 建立可复用的web应用程序,一个通用的方法是建立一个分层系统,如同下面一个普通的web应用: 前端,front-end:JSP和Servlets,或jakarta的velocity 控制层框架 Controller : (

2014级C++课程教学和学习情况期中调查

期中对2014级同学们开展了一次调查.共93人,收到有53 份问卷.问卷通过问卷星http://www.sojump.com/进行. 下面是调查统计结果:   第1题   总体而言,你对目前的学习状况感到: 选项 小计 比例 满意,享受着学习的快乐着 10  18.87% 还行,努力前行,不断长进 27  50.94% 紧紧跟随,唯恐被甩开 12  22.64% 跟不上了 4  7.55% 本题有效填写人次 53    迂者点评:同学们的状态普遍不错,继续努力.7.55%的同学,作为整体的教学安

包装很好,里面是什么(转自微软)

微软 包装很好,里面是什么? 作者:Eric Gunnerson上个月,我们花了一些时间来学习如何找到与 C# 有关的东西.我收到一些询问,问及有关 C# 或 .NET 的 Web 站点,所以我决定在专栏里增加一个 Web 站点荟萃节目.写信告诉我(ericgu@microsoft.com)您的站点,每个月我会随机选择五个站点,在专栏的最后列出它们的 URL.开场白结束,言归正传. C# 中的类型 C# 和公共语言运行时 (CLR) 中有两种类型:引用类型(在 C# 中用类声明)和值类型(在 C

万字长文带你轻松了解LSTM全貌

第一次接触长短期记忆神经网络(LSTM)时,我惊呆了.   原来,LSTM是神经网络的扩展,非常简单.深度学习在过去的几年里取得了许多惊人的成果,均与LSTM息息相关.因此,在本篇文章中我会用尽可能直观的方式为大家介绍LSTM--方便大家日后自己进行相关的探索.   首先,请看下图:   LSTM是不是很漂亮?   (注意:如果你对神经网络和LSTM很熟悉,请直接跳到本文的中间部分--前半部分相当于入门教程.)   神经网络 假设我们从某部电影中截取出了一系列的图像,并且我们想对每张图像进行标记

一道经典JAVA面试题

问题描述 客户端从服务器读取数据,是要花费一定时间的.客户端发送价格1.1给服务器猴返回客户端的数据如下格式:价格排名1.11001.2100..........2.0100客户端发送价格2.1给服务器猴返回客户端的数据如下格式:2.1992.2992.398..........3.096价格是递增的,排名也是递增的,也可能与以前相同.价格的范围是1-100如何以最快的方法找到客户端要的排名对应的最低价格.如:需要找第2名,最低价格 解决方案 解决方案二:二分查找解决方案三:二分算法想过,不过这

KDnuggets调查|数据科学家最常用的10种算法

最新的KDnuggets调查统计了数据科学家们实际工作中最常使用的算法,在大多数学术和产业界,都有惊人发现哦! 根据Gregory Piatetsky, KDnuggets,最新的调查问题是:在最近的12个月中,你在实际数据科学相关应用中用到了那些模型/算法? 于是就有了以下基于844份答卷的结果. ◆ ◆ ◆ 排名前十的算法和它们在投票者中所占比例 图1:数据科学家最常用的10大算法,所有算法见文末表格   每个受访者平均用到了8.1种算法,这相比于 2011 的相似调查显示的结果有了巨大的增

数据科学家最常用的10种算法

最新的KDnuggets调查统计了数据科学家们实际工作中最常使用的算法,在大多数学术和产业界,都有惊人发现哦! 根据Gregory Piatetsky, KDnuggets,最新的调查问题是:在最近的12个月中,你在实际数据科学相关应用中用到了那些模型/算法? 于是就有了以下基于844份答卷的结果. ◆ ◆ ◆ 排名前十的算法和它们在投票者中所占比例 图1:数据科学家最常用的10大算法,所有算法见文末表格 每个受访者平均用到了8.1种算法,这相比于 2011 的相似调查显示的结果有了巨大的增长.

看别人的项目,就是数据库的表看不懂,帮忙解释下

问题描述 -- MySQL dump 10.11---- Host: localhost Database: zxdy-- -------------------------------------------------------- Server version5.0.41-community-nt/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_R