sitemesh的使用

HDMI与DisplayPort混搭方案:如何用Xilinx Video PHY Controller实现多协议视频接口转换 本文详细解析了如何利用Xilinx Video PHY Controller IP核实现HDMI与DisplayPort协议转换,涵盖混合视频接口架构设计、GT收发器动态重配置策略及跨协议时钟域处理方案。通过实战案例和配置技巧,帮助开发者构建高性能多协议视频转换系统,适用于医疗影像、工业控制等场景。 阅读详情

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

1,要想使用sitemesh必须在web应用中导入sitemesh.jar文件
2,在web.xml文件中加入过滤器 
 <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>*.action</url-pattern>
 </filter-mapping>
 
 
SiteMesh 并没有限制你只能修饰JSP页面。你可以自由的选择想要修饰的对象,比如Velocity或者Freemarker。Velocity和 Freemarker是一种可被用于生成web页面的模板语言。这些语言比JSP更加的简单易用,但在可编程性方面不如JSP灵活。
SiteMesh通过两个servlet支持这两种模板语言,这两个servlet也被定义在SiteMesh.jar文件里。我们可以像这样在web.xml里声明这两个servlet

<servlet>
 <servlet-name>sitemesh-velocity</servlet-name>
 <servlet-class>
  com.opensymphony.module.sitemesh.velocity.VelocityDecoratorServlet
 </servlet-class>
</servlet>
<!--Declare servlet for handling freemarker requests -->
<servlet>
 <servlet-name>sitemesh-freemarker</servlet-name>
 <servlet-class>
 com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet
 </servlet-class>
 <init-param>
  <param-name>TemplatePath</param-name>
  <param-value>/</param-value>
 </init-param>
 <init-param>
  <param-name>default_encoding</param-name>
  <param-value>GBK</param-value>
 </init-param>
</servlet>
<!-- Velocity servlet should serve all requests with .vm extension-->
<servlet-mapping>
 <servlet-name>sitemesh-velocity</servlet-name>
 <url-pattern>*.vm</url-pattern>
</servlet-mapping>
<!-- FreeMarker servlet should serve all requests with .dec extension-->
<servlet-mapping>
 <servlet-name>sitemesh-freemarker</servlet-name>
 <url-pattern>*.dec</url-pattern>
</servlet-mapping>


当 然,我们还需要在lib文件夹里引入freemarker.jar、velocity-dep.jar和velocity-tools- view.jar。这些jar文件已经包含在SiteMesh的发布包里了。

事例文件:

login.dec
----------------------------------------
<#include "/decorators/includes/header.ftl">
    ${body}
<#include "/decorators/includes/footer.ftl">
-----------------------------------------

main.dec
----------------------------------------------
<#include "/decorators/includes/header.ftl">
<#include "/decorators/includes/banner.ftl">
<script>
function checkMenu() {
 if($("leftcol").style.display=="none") {
  $("leftcol").show();
 }else{
  $("leftcol").hide();
 }
}

</script>
<table border="0" cellspacing="0" cellpadding="4" width="100%" >
<tr valign="top">
 <td width="18%">
  <div>
   <#include "/decorators/includes/menu.ftl">
  </div>
 </td>
 <td width="2">
  <a href="javascript:checkMenu();"><img src="${base}/images/bg_03.gif" style="cursor: hand"></a>
 </td>
 <td><body>
  <iframe width="100%" height="100%" src="${base}/opera/operaLine.action" frameBorder="0" scrolling=auto ></iframe>
  </body>
 </td>
</tr>
</table>
<#include "/decorators/includes/footer.ftl">
----------------------------------------------

opera.dec
------------------------------------------
<#include "/decorators/includes/header.ftl">
    ${body}
</body>
</html>
-------------------------------------------


在WEB-INFO目录下加入decorators.xml
<decorators defaultdir="/decorators">
 <decorator name="main" page="main.dec">
        <pattern>*</pattern>
    </decorator>
    <decorator name="login" page="login.dec">
     <pattern>/login/*</pattern>
     <pattern>/regist/*</pattern>
    </decorator>
    <decorator name="opera" page="opera.dec">
     <pattern>/opera/*</pattern>
    </decorator>
</decorators>

main.dec会拦截所有页面,除了login.dec所修饰的/login/*、/regist/*和opera.dec所修饰的/opera/*的目录下的页面。

SiteMesh 有一个概念,叫做修饰器映射,实现这个概念的接口是DecoratorMapper(有init()和getDecorator()方法)。映射器在 sitemesh.xml里声明。在sitemesh.xml文件里,每一个映射器都是它上一个映射器的父映射。当SiteMesh需要一个修饰器来修饰 页面的时候,会在sitemesh.xml里查找映射器,生成找到的第一个映射器的实例并调用getDecorator()方法,在这个方法里尝试查找针 对那个页面的修饰器。如果找到了就返回;否则,调用父映射器的getDecorator()方法,反复进行这个过程,直到找到正确的修饰器。
在WEB-INFO下面创建sitemesh.xml文件
<sitemesh>

 <page-parsers>
  <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser" />
 </page-parsers>

    <decorator-mappers>
        <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
            <param name="config" value="/WEB-INF/decorators.xml" />
        </mapper>
    </decorator-mappers>
   
</sitemesh>

如此配置完成后,sitemesh就可以修饰页面了。

YOLOv8进阶实战:融合SAHI超推理算法,在无人机应用中精准捕捉视频与图片中的微小目标 YOLOv8改进是一种先进的目标检测算法,通过引入辅助超推理算法SAHI推理,使得小目标无法逃避检测。SAHI推理算法结合视频和图片的特点,利用先进的超推理技术,提高了目标检测的准确性和鲁棒性。不仅如此,YOLOv8改进还支持对视频和图片进行实时的目标检测,将检测结果直观地呈现给用户。这一技术的应用范围广泛,可以用于安防领域,提升监控设备的性能和效率;也可以用于无人驾驶领域,实现精准的目标识别和跟踪。总之,YOLOv8改进是一项具有突破性的技术,为目标检测领域带来了重大的进展。 阅读详情

相关推荐

ExcelVBA批量添加PDF文件

如图1所示,"BOM-01.xlsx"工作簿中的Sheet1工作表根据B列图号单元格中的内容,在图2所示的文件夹中找到对应的PDF文件,然后嵌入到相应的N列,双击N列中所示的图标,会打开PDF文件,是源文件的副本,即删除源文件,也可以打开N列的文件。 图1 根据B列的图号在N列嵌入对应的PDF文件 图2 PDF文件 图3 文件格式 Sub 导入文件() Ap...

qq389445046的博客 5577

SiteMesh详解

1.Sitemesh简介         Sitemesh是一个网络布局和修饰的框架,基于filter技术.       作用:利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的,减少重复代码的编写.(可能看到这儿不是很清楚,下面配几张图加以解释).      举个应用的场景: 点击下图上方的菜单.在浏览器的下方会显示出相应的界面.此时你会发现上面菜单栏的内容是一样的,而下面显示

qq_38255772的博客 748

PIV实验流场流速云图(MALAB contour函数用法)

clear;clc; for k=1:5 str1=['filename1']; str2=['filename2']; str3=['filename3']; str=eval(['str',num2str(k)]); load(str); [m n]=size(y); y=flipud(y); v=-v; x=x-x(1,...

Nick_Cui的博客 3223

Mac Pro M2芯片成功安装麒麟银河高级服务器虚拟机

本人用的是1、Macbook m2pro芯片 16G+5123、安装homebrew、wegt、qemu。

vagatable_XX的博客 3301

SiteMesh3快速入门

文章目录介绍工作原理配置及使用添加maven依赖webxml中添加SiteMesh过滤器创建一个装饰页面(decorator page)创建一个被装饰页面(content page)配置方式XML配置Java配置查看效果高级配置XML形式配置Java形式配置 介绍 工作原理 配置及使用 添加maven依赖 webxml中添加SiteMesh过滤器 创建一个装饰页面(decorator page) ...

炎溟墨的博客 372

UniTouch:多模态触觉对齐技术如何重塑零样本跨模态应用

UniTouch模型通过创新的多模态触觉对齐技术,成功将触觉数据映射到通用的视觉-语言嵌入空间,解决了触觉模态的“孤岛困境”。该技术利用对比学习和传感器特定标记,实现了高质量的零样本学习能力,使模型无需额外训练即可完成触觉分类、描述等任务,并能驱动跨模态生成,为机器人、VR和智能制造等领域提供了强大的触觉理解新范式。

weixin_29044713的博客 409

Sitemesh入门和使用笔记

1.Sitemesh介绍 SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的 目的。它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,使得它的内容也符合你的页面结构的要求。 2.使用场景举例 网站页面头部header和底部footer信息很多页面都有用到,只需要把头部和底部信息单独放在两...

Jeffrey的博客 1566

AI智能体丨使用Coze生成自媒体短视频分镜生成器(附保姆级教程)

【短视频分镜脚本生成器】是一款由Coze平台开发出来的智能体,可快速解析某音/某书视频或本地文件,自动生成专业分镜脚本。用户只需输入视频链接或上传文件,系统即会分析镜头节奏、叙事逻辑和画面内容,输出包含画面、模板和话术参考的标准化脚本(支持3分钟内视频)。该工具还能生成HTML网页和可下载图片,提供可视化呈现。工作流程包括视频解析、帧提取、AI画面理解、脚本生成和网页制作,大幅提升短视频创作效率。

李同学Lino的博客 1535

AI上推荐 之 隐语义模型(LFM)和矩阵分解(MF)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

SiteMesh介绍

略

sayyy的专栏 443

rk3399开发环境的介绍

由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相对较陡,所以我有了这个想法,专门对Bluez做一个系统性的介绍,尽可能的涵盖所有内容。

朝气蓬勃 711

SiteMesh的使用

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

qq_32930145的博客 526

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SiteMesh基本用法及示例

SiteMesh是基于Servlet的filter的,即过滤流。它是通过截取reponse,并进行装饰后再交付给客户。 其中涉及到两个名词: 装饰页面(decorator page)和 “被装饰页面(Content page)" , 即 SiteMesh通过对Content Page的装饰,最终得到页面布局和外观一直的页面, 并返回给客户 运行环境需要:servlet2.

drift_away的专栏 9471

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SiteMesh3简介及使用

SiteMesh3 介绍 工作原理 配置及使用 下载 1添加maven依赖 2webxml中添加SiteMesh过滤器 3创建一个装饰页面decorator page 4创建一个被装饰页面content page 5配置 1XML方式 1Java方式 6查看效果 7高级配置 1XML形式配置 2Java形式配

王晓安 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Sitemesh

http://www.opensymphony.com/sitemesh/install.htmlSiteMesh - SiteMesh Installation and ConfigurationOnce SiteMesh has been downloaded (or built), configuration is simple.Setup a web-app as

静静的菜园 586

Sitemesh的使用

Sitemesh的使用

qq_29477175的博客 151

sitemesh配置

sitemesh是一个装饰页面的插件。它会拦截页面的html代码里的title,header,body。这样它就可以将一些公共的信息插入进去。起到了类似于include的作用。但它不会侵入代码。官方网站:http://www.opensymphony.com/sitemesh/ SiteMesh - 安装和配置siteMesh的配置相当简单. 拷贝 sitemesh-2.4.1.jar 到 [web-app]/WEB-INF/lib .新建文件到 [web-app]/WEB-INF/decorator

dknypxt的专栏 828

Sitemesh Demo

简介 sitemesh是一个网页布局与装饰体系,主要应用于创建具有大量一致性用户界面、导航与布局框架的站点。 sitemesh拦截一切经过web server的静态或动态生成的HTML页面请求,处理页面内容,并将其与一个或多个装饰页面进行融合,生成最终页面。 sitemesh也可用于构建由多个部分小页面与布局组成的大型页面。 可应用于基于java的web应用,也可用于离线内容。 JavaWeb应用s

Daniel is coding 794

Sitemesh3 的使用及配置

1、Sitemesh 3 简介 Sitemesh 是一个网页布局和修饰的框架,基于 Servlet 中的 Filter,类似于 ASP.NET 中的‘母版页’技术。参考:百度百科,相关类似技术:Apache Tiles。 官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home 。 2、Sitemesh 3 下载 最新版本

零度的博客专栏 1849
上一篇: web工程处理乱码的心酸史
下一篇: freemarker中iframe显示的问题
eft21
博客等级 码龄19年 37粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值