`
Appleses
  • 浏览: 348047 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts使用Sitemesh框架

阅读更多
一 安装Sitemesh框架

    下载最新版本的sitemesh

    1 sitemesh-2.3.jar是Sitemesh的支持包 请复制该文件到\demo\WebRoot\WEB-INF\lib目录下

    2 sitemesh-decorator.tld sitemesh.page.tld是Sitemesh的标签库文件 复制该文件到\demo\WebRoot\WEB-INF目录下

    二 配置Sitemesh架构

    首先需要在WEB-INF/web.xml文件中配置Sitemesh 包含两个部分

    1 配置Sitemesh过滤器

    在web.xml中添加一个过滤器 使用类为Sitemesh的页面过滤器类com.opensymphony.module.sitemesh.filter.PageFilter,使用“/*”匹配符 表示对所有的页面进行过滤 配置如下

    <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>

    2 配置Sitemesh标签库

    在web.xml中添加两个Sitemesh的标签库

    <taglib>

    <taglib-uri>sitemesh-page</taglib-uri>

    <taglib-location>

    /WEB-INF/sitemesh-page.tld

    </taglib-location>

    </taglib>

    <taglib>

    <taglib-uri>sitemesh-decorator</taglib-uri>

    <taglib-location>

    /WEB-INF/sitemesh-decorator.tld

    </taglib-location>

    </taglib>

    至此 sitemesh就可以发挥作用了

    三 建立装饰器描述文件decorators.xml

    WEB-INF/decorators.xml文件用来将一个装饰器名字同一个专门的JSP装饰文件绑定

    defaultdir:指定装饰器JSP文件存放的目录

    name:装饰器的名字

    page:JSP装饰文件

    pattern:表示要装饰的页面匹配符 “/*”表示要装饰的是所有的页面

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

    - <decorators defaultdir="/decorators">

    - <decorator name="frame" page="frame.jsp">

    <pattern>/*</pattern>

    </decorator>

    </decorators>

    四 建立装饰器页面/decorators/frame.jsp

    根据decorators.xml中的配置 装饰器页面位于/decotators目录下 装饰器文件名为frame.jsp 因此在该目录下建立一个JSP文件

    1 在文件头部引入sitemesh的标签库 别名为decorator

    2 编辑HTML的页面 根据session中是否存在用户名 来确认如何装饰页面 如果页面存在 则输出一个菜单栏 并在页面尾部输出版权信息

    3 分别使用<decorator:title>、<decorator:head>、<decorator:body>来取得被装饰页面的<title>、<head>、<body>3个部分的内容 加入到装饰器中

    <%@ page import="com.demo.struts.util.Constants"%>

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

    prefix="decorator"%>

    <html>

    <head>

    <title>Demo - <decorator:title default="Welcome!" /></title>

    <decorator:head />

    </head>

    <body>

    <div align="center"><%if (session.getAttribute(Constants.USERNAME_KEY) != null) {%>

    <table width="100%">

    <tr>

    <td><img src="images/logo4.png"></td>

    <td><img src="images/logo2.png" height="90"></td>

    </tr>

    <tr>

    <td colspan="2">

    <hr>

    </td>

    </tr>

    <tr>

    <td>

    <table>

    <tr>

    <td><a href="welcome.do">Main</a></td>

    </tr>

    <tr>

    <td><a href="menu1.do">Menu1</a></td>

    </tr>

    <tr>

    <td><a href="menu2.do">Menu2</a></td>

    </tr>

    <tr>

    <td><a href="menu3.do">Menu3</a></td>

    </tr>

    <tr>

    <td><a href="menu4.do">Menu4</a></td>

    </tr>

    <tr>

    <td><a href="menu5.do">Menu5</a></td>

    </tr>

    <tr>

    <td><a href="menu6.do">Menu6</a></td>

    </tr>

    <tr>

    <td><a href="menu7.do">Menu7</a></td>

    </tr>

    <tr>

    <td><a href="menu8.do">Menu8</a></td>

    </tr>

    </table>

    </td>

    <td><decorator:body /></td>

    </tr>

    </table>

    <%} else {%> <decorator:body /> <%}%>

    <hr>

    2007copyright abc@163.com</div>

    </body>

    </html>
分享到:
评论

相关推荐

    struts2-sitemesh-plugin-2.2.1.1.jarstruts2

    **Sitemesh框架** Sitemesh的工作原理是通过拦截HTTP请求,将页面内容包裹在预先定义的装饰模板中。装饰模板可以包含页头、页脚、侧边栏等元素,确保整个网站有一致的布局。Sitemesh使用`&lt;decorator&gt;`标签来定义装饰...

    Struts2整合SiteMesh技巧

    通过整合Struts2与SiteMesh,开发者可以在保持Struts2框架的灵活性的同时,利用SiteMesh实现一致且美观的页面布局设计。 #### 配置基础 要使Struts2与SiteMesh协同工作,首先需要确保项目中包含了以下三个库文件:...

    SiteMesh框架在Java项目中的应用.pdf

    SiteMesh框架在Java项目中的应用 SiteMesh是一个非常优秀的页面装饰器框架,它将页面共用的内容放在装饰器页面中,通过对所有用户请求和服务器响应进行过滤,把装饰器中指定的共用内容插入到被装饰页面中,从而形成...

    struts2sitemesh-freemarker 源码

    通过深入研究这个源码,开发者可以学习到如何有效地使用Struts2、Sitemesh和FreeMarker来构建复杂的Web应用,理解它们的内部工作原理,以及如何优化和扩展这三个组件。这对于提升Java Web开发技能和理解MVC架构有极...

    Struts2整合SiteMesh

    2. **配置Struts2**:在struts.xml配置文件中,添加SiteMesh插件的配置,使Struts2知道需要使用SiteMesh进行页面装饰: ```xml &lt;constant name="struts.action.excludePattern" value="/decorator.*"/&gt; ...

    sitemesh框架简单例子

    在“sitemesh框架简单例子”这个教程中,我们将深入理解Sitemesh的基本概念和用法。 首先,我们需要了解Sitemesh的工作原理。Sitemesh通过拦截HTTP请求,对返回的HTML内容进行装饰。它使用一种叫做装饰器...

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

    Struts2、Spring2.5 和 SiteMesh 是Java Web开发中的三个重要框架,它们共同构建了一个强大且灵活的Web应用程序架构。在这个小DEMO中,我们将深入探讨这三个框架的集成和工作原理。 **Struts2** 是一个基于MVC...

    struts2+sitemesh例子

    **Sitemesh框架解析** Sitemesh则专注于页面布局,它的主要功能是在各个独立的页面之上添加统一的头部、底部、侧边栏等元素,实现页面的装饰效果。Sitemesh通过装饰器(Decorator)模式工作,可以在不修改原有JSP...

    struts2-sitemesh-plugin-2.0.6.jar

    struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业

    struts2与sitemesh整合所需架包

    要将Struts2和Sitemesh整合,我们需要两个关键的组件:Sitemesh框架本身(在这个例子中是版本2.4.2)和Struts2的Sitemesh插件(版本2.1.8)。这两个组件的集成使得Struts2能够自动将Sitemesh应用于其返回的页面,...

    java sitemesh 页面框架

    4. **与Struts、Spring MVC等框架兼容**:Sitemesh可以很好地与其他MVC框架集成,提供统一的页面布局。 **使用Sitemesh的优点**: 1. **代码组织**:将页面的结构和内容分离,有利于团队协作和代码维护。 2. **重用...

    SiteMesh 开发 struts插件

    而Struts2 SiteMesh 插件则使得整合 SiteMesh 和 Struts2 框架变得更加方便,让开发者可以充分利用 SiteMesh 的功能来提升用户体验。 首先,我们需要理解 Struts2 是一个基于 Model-View-Controller(MVC)设计模式...

    Struts2.0 与 sitemesh的例子

    Struts2.0 和 Sitemesh 是两种在Java Web开发中广泛应用的技术,它们结合使用能够增强应用程序的用户体验和页面布局管理。Struts2.0 是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级的...

    网上拍卖(基于SSH架构,采用SiteMesh框架排版,Ajax)

    在这个项目中,SiteMesh框架被用于页面布局和装饰,提供了更高效的页面设计和管理方式。Ajax技术则被用来实现页面的异步更新,提升用户体验。 1. Spring框架:Spring作为核心的依赖注入(DI)和面向切面编程(AOP)...

    sitemesh框架解说

    **Sitemesh框架详解** Sitemesh是一款开源的Web页面布局和装饰框架,它主要用于解决Web应用中的页面统一风格和布局的问题。Sitemesh通过拦截HTTP请求,将页面内容与预定义的模板相结合,实现页面的美化和标准化,极...

    jsp 页面框架sitemesh 全面帮助文档及示例

    - **sitemesh资料整理.chm**:这可能是一个包含Sitemesh详细信息的CHM帮助文件,提供了框架的使用指南和技术细节。 - **SiteMesh教程.doc**:这是一份Word文档,可能详细介绍了如何使用Sitemesh,包括基本概念、...

    struts2+spring2+hibernate3+velocity+sitemesh集成框架代码

    Struts2、Spring2、Hibernate3、Velocity和Sitemesh是经典的Java Web开发框架组合,它们各自在Web应用的不同层面提供了强大的支持。这个集成框架代码集合了这些技术,旨在提供一个高效、灵活和可扩展的开发环境。 1...

    struts2 +sitemesh:实例学习

    Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。 它不仅仅能处理动态的...

Global site tag (gtag.js) - Google Analytics