`
liujiawinds
  • 浏览: 134626 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

sitemesh 入门demo

 
阅读更多

看了n天项目了,没啥收获,

项目组里面用到了sitemesh,以前也没接触过,就无聊看了一下。

在此总结一下,给需要的人。

需要有配置3个地方。

 

web.xml        decorators.xml           sitemesh.xml

 

 

web.xml的配置如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>test_sitemesh</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
 <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>
  
  <filter-mapping>
  	<filter-name>sitemesh</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
  
</web-app>

 

decorators.xml路径在web-inf下面,配置如下:

 

<?xml version="1.0" encoding="utf-8"?>  
<decorators defaultdir="/decorators">  
    <!-- 此处用来定义不需要过滤的页面 -->  
    <excludes>  
    </excludes>  
  
 <!-- 用来定义装饰器要过滤的页面 ,style.jsp为装饰页面,/*表示装饰所有页面-->  
    <decorator name="main" page="style.jsp">  
        <pattern>/*</pattern>  
    </decorator>  
</decorators>  

 

sitemesh.xml的路径也在web-inf下面,配置如下:

 

<sitemesh>
    <property name="decorators-file" value="/WEB-INF/decorators.xml"/>
    <excludes file="${decorators-file}"/>

    <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.PageDecoratorMapper">
            <param name="property.1" value="meta.decorator"/>
            <param name="property.2" value="decorator"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper">
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper">
            <param name="match.MSIE" value="ie"/>
            <param name="match.Mozilla [" value="ns"/>
            <param name="match.Opera" value="opera"/>
            <param name="match.Lynx" value="lynx"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">
            <param name="decorator" value="printable"/>
            <param name="parameter.name" value="printable"/>
            <param name="parameter.value" value="true"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper">
            <param name="decorator" value="robot"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">
            <param name="decorator.parameter" value="decorator"/>
            <param name="parameter.name" value="confirm"/>
            <param name="parameter.value" value="true"/>
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper">
        </mapper>

        <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
            <param name="config" value="${decorators-file}"/>
        </mapper>

    </decorator-mappers>

</sitemesh>

 

 

配置文件如上,我看在项目中在web.xml里面是写的sitemeshFilter,但是在网上都很多是pagefilter

有点疑惑,准备下周去问问老大。

 

然后是装饰页面,它是为了装饰其它页面而存在,style.jsp,

它是放在webRoot/decorators目录下,这个路径是在上面decorators.xml里面定义的。

这里只是测试,所以内容很简单,如下:

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
       <title><decorator:title />
       </title>
    <body>
       <p>head decorator...</p> <!-- 头部 -->
       <decorator:body />
       <p>foot decorator...</p><!-- 脚部,可以写一些copyright之类的东西 -->
    </body>
</html>
 

然后就直接运行,只要在webRoot下面有页面,访问即可看到效果。

 

 

 

1
0
分享到:
评论

相关推荐

    sitemesh入门demo

    在"**sitemesh入门demo**"中,我们将学习如何设置和使用Sitemesh来创建一个简单的Web应用程序。这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细...

    sitemesh官方demo cafe.war

    sitemesh官方demo cafe.war

    siteMesh demo+文档

    在本"siteMesh demo+文档"中,我们将深入探讨SiteMesh的基本概念、安装配置、以及如何在实际项目中应用。 首先,我们来看"siteMesh demo"。这个演示项目展示了SiteMesh的功能和用法。通过运行这个demo,你可以直观...

    sitemesh简单demo

    这个“sitemesh简单demo”是一个使用 Maven 构建的项目,旨在提供一个快速入门的示例,帮助初学者理解并掌握 sitemesh 的基本用法。 在 Web 开发中,sitemesh 通过拦截 HTTP 请求,将用户定义的页面模板(通常称为...

    sitemesh3demo附配置说明

    `sitemesh3demo附配置说明`这个主题涉及到的是一个使用Sitemesh3框架的演示项目,其中包含了配置的详细指南。Sitemesh是一个开源的Web应用程序模板引擎和页面装饰框架,它主要用来帮助开发者实现网页布局、样式统一...

    siteMesh框架demo

    这个"siteMesh框架demo"是一个小型示例项目,旨在演示如何在实际开发中集成和使用SiteMesh框架。通过这个Demo,我们可以深入理解SiteMesh的核心功能和工作原理。 SiteMesh的核心功能在于装饰器(Decorator)模式的...

    siteMesh demo 例子

    入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt

    sitemesh3-demo

    【sitemesh3-demo】是一个基于Sitemesh3框架的示例项目,旨在展示如何在Web应用程序中有效地实现页面布局和装饰功能。Sitemesh是一个开源的Java Web应用框架,主要用于增强网页的外观和结构,通过定义装饰模板,可以...

    SiteMesh入门示例

    在这个"SiteMesh入门示例"中,我们将探讨如何使用 SiteMesh 来实现这些功能。 首先,让我们理解 SiteMesh 的核心概念。SiteMesh 包含了两个主要部分:`Decorator` 和 `Filter`。`Decorator` 是一个 HTML 页面,定义...

    一个Struts2+Spring2.5+SiteMesh的小DEMO

    在这个"Struts2+Spring2.5+SiteMesh的小DEMO"中,开发者可能已经创建了一个简单的Hello World应用,展示了这三个框架如何协同工作。`helloWorld`可能是这个应用的一个入口点,例如,它可能对应一个Struts2的动作类,...

    sitemesh入门教材

    Sitemesh 是一个开源的网页布局和装饰框架,它用于Java Web应用程序,能够帮助开发者实现页面的统一布局和风格。通过使用Sitemesh,开发者可以将页面的头部、内容区和侧边栏等组件进行分离,然后在不改变各个具体...

    sitemesh装饰器入门

    **Sitemesh装饰器入门** Sitemesh 是一个开源的 Web 应用程序框架,它主要用来帮助开发者实现页面布局和装饰功能。Sitemesh 的核心概念是“装饰器”,这个概念源自于软件设计模式中的装饰者模式。通过使用 Sitemesh...

    sitemesh网页组合框架 demo

    **Sitemesh网页组合框架** 是一个开源的Java Web应用程序框架,主要用于网页布局和装饰。它的核心功能是帮助开发者统一网站的外观和感觉,通过自动应用页面模板来增强Web应用程序的界面一致性。在传统的Web开发中,...

    sitemesh的使用方法demo

    通过这个简单的 demo,你可以学习到如何在实际项目中集成和使用 Sitemesh,以提高网站的整体一致性和美观性。同时,Sitemesh 还支持自定义装饰策略、多装饰器应用、动态装饰等功能,可以根据项目需求进行深入研究和...

    页面装饰器(sitemesh)实例源代码

    页面装饰器(Sitemesh)是一种广泛用于Web应用的开源框架,它的主要功能是提供页面布局和装饰功能,使得...通过实际操作和学习提供的`demo`,你可以进一步掌握Sitemesh的使用技巧,从而在自己的开发工作中游刃有余。

    sitemesh框架简单例子

    Sitemesh是一款强大的Web页面布局和装饰框架,它主要用于帮助开发者实现网站的统一外观和...通过这个简单的入门教程,你可以快速掌握Sitemesh的基本操作,并将其应用到自己的项目中,提升网站的用户体验和设计品质。

    SiteMesh教程及SiteMesh官方文档翻译

    ### SiteMesh教程及SiteMesh官方文档翻译 #### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件...

    sitemesh

    **Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...

Global site tag (gtag.js) - Google Analytics