在近期试图以sitemesh来组织页面结构,整个页面的结构为:页面顶部可以安排公司标志及菜单(Header),左边是导航(Left),右边是主要的显示区域(Main),底部页角(Footer),除了主显示区其他部分大多数情况下都是静态的。在项目中,主显示区在很多情况下都要处于编辑,修改,查询,删除数据的状态,所以鉴于eXtremeTable在处理表格数据上的优势,就选择了使用eXtremeTable来实现Main这部分的功能。非常感谢ecside对eXtremeTable的进一步改进,就决定了使用ecside实现数据的增、删、改、查,因为作者明确声明未对ecside进行sitemesh的支持,所以知道需要做些调整,看了一下ecside的一些代码后,有了一个偷懒的做法。
我稍微测试了一下,发现在sitemesh中,通过Filter进行显示的页面被加载的代码只是body内部的代码,所以产生的问题就是在外部的代码不会被包含,如写在head中的link、script等。在显示eXtermeTable时也是同样遇到这样的问题。但是sitemesh装饰器中的body还是会正常使用的,所以一个笨笨的方法就是在sitemesh装饰器中将eXtermeTable进行初始化,如:
- <%@ page contentType="text/html; charset=utf8" pageEncoding="GBK"%>
- <%@ taglib uri="sitemesh-decorator" prefix="decorator" %>
- <%@ taglib uri="sitemesh-page" prefix="page" %>
-
-
- <html>
- <head>
- <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=gbk"/>
- <title>
- <decorator:title default="装饰器页面..." />
- title>
- <decorator:head />
- head>
- <body onload="init();">
- <div style="position:absolute;top:0;left:0;width:1024;height:768;" align="center">
- <table border=0 cellpadding="0" cellspacing="0" width="778" align="center" id="marginSize">
-
- <tr>
- <td colspan="2" width=820>
- <page:applyDecorator page="/jsp/Header.jsp" name="panel"/>
- td>
- tr>
-
- <tr>
- <td rowspan="2">
- <page:applyDecorator page="/jsp/Left.jsp" name="panel"/>
- td>
- <td height="22">
- <page:applyDecorator page="/jsp/Menu.jsp" name="panel"/>
- td>
- tr>
-
- <tr>
- <td height="478">
- <decorator:body />
- td>
- tr>
-
- <tr>
- <td colspan="2">
- <page:applyDecorator page="/jsp/Footer.jsp" name="panel"/>
- td>
-
- tr>
-
- table>
- div>
- body>
通过上面的方法到是可以正常的将eXtremeTable 显示出来,但是问题是如果要显示的页面中没有包含eXtremeTable 的话,在body中的脚本init(),还是会运行的,因而还是有很大问题的,希望大家能提供更好的实现方法,最好是能摆脱对body标签中init()的依赖。继续学习中。
分享到:
- 2007-01-18 13:35
- 浏览 3391
- 评论(0)
- 论坛回复 / 浏览 (0 / 3552)
- 查看更多
相关推荐
**初试sitemesh实现模块简易整合** Sitemesh 是一个开源的网页布局框架,用于在Java Web应用程序中实现页面装饰(Decorator)模式。它可以帮助开发者统一网站的头部、底部、侧边栏等通用部分,使得网站设计更加整洁...
3. **创建装饰模板**:Sitemesh 使用一个名为 `decorators` 的目录来存储装饰模板。这些模板定义了页面的通用结构,如头部、底部和侧边栏。例如,你可以创建一个 `default.jsp` 文件,其中包含你的页面布局。 4. **...
#### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件如头部(head)、主体内容(content)以及...
SiteMesh也允许装饰器从实际页面提取标题,然后显示在页面的头部。 ***Mesh与其他技术的整合: SiteMesh可以与多种JSP标签库、模板引擎以及前端技术结合使用,如Struts、Velocity、Jakarta、JSR 168 Portlets等。这...
### Sitemesh 3 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...
4. **应用装饰**:通过在JSP页面中使用特殊的注解(例如`<@sitemesh/page>`),或者在Servlet中使用`PageDecorator`接口,可以指示SiteMesh对哪些页面进行装饰。 5. **自定义装饰策略**:如果你的项目有特殊需求,...
2. **复杂性**:对于简单的页面布局,使用Sitemesh可能显得过度工程化。 在提供的压缩包中,"SiteMesh"可能包含了Sitemesh的源码、文档、示例项目或者其他配置文件。通过研究这些资源,你可以更好地理解和学习如何...
要开始使用Sitemesh,你需要在你的项目中引入Sitemesh的依赖。如果你的项目是基于Maven的,可以在pom.xml文件中添加对应的依赖项。对于其他构建工具,可以找到相应的库文件并将其添加到类路径中。 接下来,配置...
**Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...
要使用Sitemesh,开发者需要了解其配置文件(通常为`sitemesh.xml`),以及如何编写装饰器模板。此外,还需要熟悉如何在JSP或Servlet中使用`@decorator`注解或者`<%@ page decorator="..." %>`指令来指定装饰器。 ...
总结来说,"sitemesh jar包机tld文件"是SiteMesh框架在JSP页面布局中的关键组件,通过引入sitemesh-2.4.1.jar,并使用sitemesh-page.tld和sitemesh-decorator.tld定义的标签,开发者可以轻松创建和管理具有统一外观...
7. **响应式设计**: Sitemesh3可以与其他响应式前端框架(如Bootstrap)结合,实现响应式布局,使网站在不同设备上都能良好显示。 8. **模板引擎兼容**: Sitemesh3可以与FreeMarker、JSP、Thymeleaf等多种模板引擎...
开发者可以通过阅读这些文档来了解如何使用Sitemesh3提供的接口和类,以便在自己的代码中集成Sitemesh3的功能。 3. **demo** 目录:这是一个示例应用程序,展示了Sitemesh3如何与实际的Web应用结合使用。通过分析和...
如果需要对某些特定页面不应用装饰,或者只对特定部分进行装饰,可以使用 `excludes` 和 `includes` 属性在 `web.xml` 中配置 SiteMesh 过滤器。 9. **优化与性能** SiteMesh 通常对性能的影响很小,但可以通过...
在本实例中,我们将深入探讨如何使用Sitemesh在MyEclipse环境中部署并应用到开源即时通讯服务器Openfire中。 首先,Sitemesh通过拦截HTTP请求,将响应内容与预定义的模板结合,实现了页面装饰。它的工作原理是:当...
例如,可以使用`<sitemesh:head>`、`<sitemesh:body>`等标签来标记要被装饰器替换的部分。 ### 自定义装饰器 除了默认装饰器,还可以为特定URL或扩展名定义自定义装饰器。在`decorators.xml`中添加相应规则即可。 ...
下面,我们将深入探讨Sitemesh技术的基本概念、工作原理、配置与使用方法,以及其实现网页修饰的具体步骤。 ### 基本概念 Sitemesh技术的核心是一种页面装饰技术,通过特定的过滤器(filter)机制拦截页面请求,...
- **使用sitemesh-blank.war**:也可以直接使用预打包好的`sitemesh-blank.war`文件作为起点,该文件包含了SiteMesh的基本配置。 ##### 2. 添加SiteMesh库 - 将`siteMesh-2.4.1.jar`文件拷贝到项目的`[web-app]/...
4. **配置(Configuration)**: SiteMesh的配置文件(通常为`sitemesh.xml`)用于设置装饰策略,包括哪些URL需要被装饰,以及使用哪个装饰器等。 **使用步骤** 1. **集成SiteMesh**: 将SiteMesh的JAR文件添加到...
spring-boot-sitemesh 源码整合