com.opensymphony.module.sitemesh.filter.pagefilter作用?

java操作Hbase之Hbase专用过滤器PageFilter的使用源代码 java操作Hbase之Hbase专用过滤器PageFilter的使用源代码,附带全部所需源代码,欢迎下载学习。 立即下载
1.sitemesh简介

2.与strust tiles比较

3.基本原理

4.简单例子

5.总结

6.参考资料

1.sitemesh简介

     sitemesh是由一个基于web页面布局、装饰以及与现存web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外 观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容, 如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将html文件象include那样将该文件作为一个面板的形式嵌入到别的文件中去。 所有的这些,都是gof的decorator模式的最生动的实现。尽管它是由java语言来实现的,但它能与其他web应用很好地集成。

2.与strust tiles比较

     从使用角度来看,tiles似乎是sitemesh标签<page:applydecorator>的一个翻版。其实sitemesh 最强的一个特性是sitemesh将decorator模式用在过滤器上。任何需要被装饰的页面都不知道它要被谁装饰,所以它就可以用来装璜来自php、 asp、cgi等产生的页面了。你可以定义若干个装饰器,根据参数动态地选择装饰器,产生动态的外观以满足你的需求。它也有一套功能强大的属性体系,它能 帮助你构建功能强大而灵活的装饰器。相比较而言,在这方面tiles就逊色许多。

3.基本原理

    一个请求到服务器后,如果该请求需要sitemesh装饰,服务器先解释被请求的资源,然后根据配置文件获得用于该请求的装饰器,最后用装饰器装饰被请求资源,将结果一同返回给客户端浏览器。

下边是由jsp和cgi产生的两个页面,它们通过sitemesh装饰后,形成了一致的用户界面。

4.简单例子

   环境说明:

   windows2k+、tomcat4.0+

1.安装:

    将sitemesh-2.1.jar复制到lib目录下;修改web.xml文件,也就是在web.xml中加入粗倾体标记的部分;

<?xml version="1.0" encoding="gb2312"?>

<! doctype web-app public "-//sun microsystems, inc.//dtd web application  2.3//en" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

<filter>

        <filter-name>sitemesh</filter-name>

         <filter-lass>com.opensymphony.module.sitemesh.filter.pagefilter</filter-class></filter>

<filter-mapping>

        <filter-name>sitemesh</filter-name>

        <url-pattern>/*</url-pattern>

</filter-mapping>


</web-app>

2.建立一个目录,名字叫decorators,当然你也可以取别的,用于放装饰器(也就是一个使用了sitemesh标签的jsp文件)用;

3.定义一个你的模板并把它放到decorators目录下,我的文体名称叫:mymain.jsp文件内容如下:

<%@ taglib  uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator"  %>

<%@ taglib uri="http://www.opensymphony.com/sitemesh/page"  prefix="page" %>


<html>

<head>

<meta http-equiv="content-language" content="zh-cn">

<meta http-equiv="content-type" content="text/html;  charset=gb2312">

<meta name="generator" content="microsoft frontpage 4.0">

<meta name="progid" content="frontpage.editor.document">

<title>ap - <decorator:title default="welcome to  architecture pub!" />

</title>

<decorator:head />

</head>

< body><table border="0" cellpadding="2" width="100%" height= "151">  <tr>    <td width="20%" height="74">      <p  align="center"><font color="#000080" size="5">test sitemesh< /font></td>    <td width="73%" height="74"></td>   </tr>  <tr><td width="20%" height="28" bgcolor="#f3f3f3"  valign="top" >

<page:applydecorator page="/menu.jsp" name="panel" />

</td>    <td width="73%" height="28" bgcolor="#bed6fa">

<decorator:body />

< /td>  </tr>  <tr>    <td width="100%" height="31"  colspan="2" bgcolor="#f1f0ed">      <p align="center">powered  by gagaghost</td>  </tr></table></body>< /html>

说明:

<decorator:title default="welcome to test sitemesh!" />:读取被装饰页面的标题,并给出了默认标题。

<decorator:head />:读取被装饰页面的<head>中的内容;

<page:applydecorator page="/menu.jsp" name="panel" />:把menu.jsp文件用 panel指定的装饰器装饰,并把结果插入到该位置;

<decorator:body />:读取被装饰页面的<body>中的内容;

当然还有很多的标签,这里不再详细描述。

4.在docorators.xml文件里配置刚写好的模板mymain.jsp,内容如下:

<?xml version="1.0" encoding="iso-8859-1"?>

<decorators defaultdir="/decorators">

    <decorator name="main" page="mymain.jsp">

        <pattern>/*</pattern>

</decorator>

    <decorator name="panel" page="panel.jsp"/>

    <decorator name="printable" page="printable.jsp"/>

</decorators>

这里我是把对所有的请求都用mymail.jsp来装饰。

5.好了,run一下你的“小板凳”!你会看到如下结果:

5.总结

     使用sitemesh给我们带来的是不仅仅是页面结构问题,它的出现让我们有更多的时间去关注底层业务逻辑,而不是整个页面的风格和结构。它让我们 摆脱了大量用include方式复用页面尴尬局面,它也提供了很大的灵活性以及给我们提供了整合异构web系统页面的一种方案。我们期望它在未来的版本中 会有更多的特性出现。

6.参考资料

http://www.opensymphony.com/
产业园区运营负责人如何实现创新资源的系统化配置?.docx 产业园区运营负责人如何实现创新资源的系统化配置? 立即下载

相关推荐

FPGA实战:用Verilog实现Costas环载波同步(附Vivado2019.2仿真步骤)

本文详细介绍了如何在FPGA上使用Verilog实现Costas环载波同步,包括核心原理、Vivado2019.2工程配置、代码实现及仿真验证。通过正交下变频、相位误差检测和环路滤波等关键模块的设计,帮助开发者掌握数字通信系统中的载波同步技术,并提供了实用的调试和优化技巧。

k0l1m2n3o的博客 134

com.opensymphony.module.sitemesh.filter.pagefilter作用

1.sitemesh简介2.与strust tiles比较3.基本原理4.简单例子5.总结6.参考资料1.sitemesh简介     sitemesh是由一个基于web页面布局、装饰以及与现存web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外 观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能

songhongrun2010的专栏 422

学习Ultralytics (下载)

Ultralytics由创立,最初是为了简化目标检测模型的开发和应用,专注于构建高效、易用、性能卓越的深度学习框架。其主要产品之一是 YOLO 系列模型,尤其是最新的YOLOv5和YOLOv8,因其在精度、速度和可扩展性方面的出色表现而广受欢迎。

2301_76846375的博客 2865

SiteMesh框架

beidou321的专栏 3057

SpringBoot+VUE3实战:如何用WebSocket搞定网页端语音通话(避坑指南)

本文详细介绍了如何使用SpringBoot和VUE3结合WebSocket技术实现网页端语音通话功能。从环境配置、WebSocket服务端实现到前端音频处理,提供了完整的开发指南和避坑建议,帮助开发者快速构建稳定高效的实时语音通信系统。

weixin_29021195的博客 221

RK3588网络调试笔记:当我把默认RTL8211F PHY换成另一款时,踩了哪些坑?

本文详细记录了在RK3588平台上将默认RTL8211F PHY芯片替换为其他型号的全过程,包括硬件设计验证、内核驱动适配、复位时序配置等关键步骤。通过实际案例分享,提供了从驱动调试到硬件优化的系统性解决方案,帮助开发者高效完成PHY芯片替换,确保网络接口稳定性。

weixin_30291791的博客 669

SiteMesh的使用

SiteMesh的介绍就不多说了,主要是用来统一页面风格,减少重复编码的。 它定义了一个过滤器,然后把页面都加上统一的头部和底部。 需要先在WEB-INF/lib下引入sitemesh的jar包:http://wiki.sitemesh.org/display/sitemesh/Download。这里使用2.4版本。 过滤器定义: 在web.xml中 &lt...

weixin_30735745的博客 151

ARM Linux工控板+C# .NET Core:倍福ADS协议轻量化工业控制(附跨平台部署代码)

某自动化设备厂的倍福PLC控制系统曾依赖传统x86工控机:单台设备需配备1台Intel i5工控机(成本约8000元),功耗30W+,且Windows系统稳定性受工业环境干扰(如电磁辐射导致蓝屏)。更棘手的是,设备需部署在产线边缘(空间狭小),x86工控机的体积(4U机架)和散热需求(风扇噪音)难以适配;而多设备部署时,高硬件成本和高功耗导致年运维成本超20万元。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 954

sitemesh的使用---修饰器

假设你打算结合多种技术来构建一个企业级web站点。比如,你准备采用J2EE技术往你的web站点里添加新内容,而这个系统的其他部分是用CGI或者微软的IIS Server搭建的。在 这种情况下,怎样让你的应用系统从外观和感受(look and feel)上保持一致呢?一种办案就是采用J2EE技术全部重写,然后选用一种框架,比如Struts-Tiles,但这种办案的开发成本太高,不太现 实。另一种可选

eft21的专栏 1660

YOLO11优化:原创自研 | 低对比度场景 | 平滑的 CIoU,对其惩罚项(中心点距离和长宽比差异)进行平滑

为了应对上述挑战,我们需要一个对边界框定位误差更具容忍度的 IoU 变体。我们的核心思想是:在 CIoU 的基础上,对其惩罚项(中心点距离和长宽比差异)进行平滑处理

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 536

基于深度学习的道路裂缝检测系统完整教程

本文介绍了一种基于深度学习的道路裂缝检测系统完整解决方案。项目采用5466张高质量道路裂缝图像数据集,包含YOLO和Pascal VOC两种标注格式,覆盖多种道路场景。系统利用CNN和YOLO算法实现高效检测,相比传统人工巡检显著提升效率和准确性。文中详细阐述了数据集结构、环境配置和训练流程,包括数据预处理、智能分割策略和质量检查方法。该技术可及时发现道路裂缝隐患,降低维护成本,保障交通安全,为道路养护提供智能化解决方案。

FJN110的博客 298

com.opensymphony.module.sitemesh.filter.pagefilter的作用

1.sitemesh简介 2.与strust tiles比较 3.基本原理 4.简单例子 5.总结 6.参考资料 1.sitemesh简介      sitemesh是由一个基于web页面布局、装饰以及与现存web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外 观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能

codeStone 1056

【数字IC/FPGA】低功耗设计

低功耗设计方法功耗的类型低功耗设计方法静态低功耗技术多阈值工艺方法电源门控方法体偏置动态低功耗技术多电压域(Multi-Voltage Domain)预计算门控时钟门级优化技术毛刺的消除逻辑级优化物理级优化控制输入向量低功耗Soc系统的动态管理动态电压及频率调节技术低功耗操作系统存储器功耗控制总结 功耗的类型 CMOS电路中的功耗由两部分构成,第一部分为负载电容充放电时引起的功耗,称为动态功耗,另一部分为漏电流引起的功耗,称为静态功耗。其中动态功耗包括翻转功耗和短路功耗。翻转功耗是数字电路中信号翻转时电容充

qq_40268672的博客 3072

com.opensymphony.module.sitemesh.filter.PageFilter页面装饰器

1.sitemesh简介            sitemesh是由一个基于web页面布局、装饰以及与现存web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外 观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容, 如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能

那一刻,那一夜,那一月,那一年,那一世 2542

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OpenSymphony——SiteMesh——Decorators(2)

五、如何使用SiteMesh 以struts2+spring2+hibernate3构架的系统为例 1、下载SiteMesh,下载地址:http://www.opensymphony.com/sitemesh/download.action 2、在工程中引入SiteMesh的必要jar包,和struts2-sitemesh-plugin-2.0.8.jar; 3、修改你的web.xml,在

ccecwg的专栏 648

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

sitemesh的使用

sitemesh的使用: Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象includ

eft21的专栏 3419

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

页面修饰框架SiteMesh的简单使用

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34143774的博客 168

SiteMesh简介

Web.xml中的写法: sitemeshFilter com.opensymphony.sitemesh.webapp.SiteMeshFilter sitemeshFilter /* 配置文件: decorator文件的写法 /static/* /* excludes标签中的内容是不需

fox_lht的专栏 1万+

sitemesh异常及解决

<br />整合以前的老系统,当访问某一Action并跳转到某一页面时,sitemesh报异常如下:<br /> <br />java.lang.ArrayIndexOutOfBoundsException: -1<br /> at com.opensymphony.module.sitemesh.html.HTMLProcessor$1.currentBuffer(HTMLProcessor.java:74)<br /> at com.opensymphony.module.sitemesh.html

im110的专栏 3341

过滤器Filter学习总结

一、filter的简介 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目 标资源访问前后进行逻辑处理。 二、快速入门 步骤: (1)编写一个过滤器的类实现Filter接口 (2)实现接口中尚未实现的方法(着重实现doFilter方法) (3)在web.xml中进行配置(主要是配置要对哪些资源进行过滤) 三、Filter的API详解...

Marmara 704
上一篇: 【Hibernate开发】对持久化对象和缓存机制的理解
下一篇: struts2 中的 addActionError 、addFieldError、addActionMessage的方法【转】
zi_jun
博客等级 码龄18年 109粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值