今天测试平台时,发现一个页面只显示了一半,后半截没了,用dw验证了一个html,没发现什么问题,想了一下,问题只能出在sitemesh上,于是把sitemesh先注释掉,果然这个页面可以正常显示了.
注:这个页面是以前的,没有用到sitemesh控制布局结构,我把该页面
改为用sitemesh布局后,也能正常显示.
web.xml中配置的过滤器:
- <filter>
- <filter-name>Acegi Filter Chain Proxy</filter-name>
- <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
- <init-param>
- <param-name>targetClass</param-name>
- <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
- </init-param>
- </filter>
- <filter>
- <filter-name>webwork-cleanup</filter-name>
- <filter-class>com.opensymphony.webwork.dispatcher.ActionContextCleanUp</filter-class>
- </filter>
- <filter>
- <filter-name>sitemesh</filter-name>
- <filter-class>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter</filter-class>
- </filter>
- <filter>
- <filter-name>webwork</filter-name>
- <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>Acegi Filter Chain Proxy</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>webwork-cleanup</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>sitemesh</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>webwork</filter-name>
- <url-pattern>*.action</url-pattern>
- </filter-mapping>
siteMesh.xml配置如下:
- <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"/>
- <parser content-type="text/html;charset=UTF-8"
- class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
- </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>
我的表示层用的是Freemarker,在项目里不是直接访问Freemarker的,都有有webwork的action转发过去的.
个人觉得可能是以下原因:
1,sitemesh对页面的大小有限制,只能输出大小为一定量的响应流.??
2,配置有问题,可能是那里配置有误,或者是acegi过滤器和sitemesh是否会冲突??
那位遇到同样的问题或者有好的解决方案,大家探讨一下.
分享到:
相关推荐
Java Sitemesh是一个开源的页面布局和装饰框架,它的主要目标是帮助开发者统一网站的外观和感觉,提高代码复用性,并简化页面的复杂性。Sitemesh通过将页面分为内容区域和装饰模板来实现这一目标,使得开发者可以...
页面装饰器(Sitemesh)是一种广泛用于Web应用的开源框架,它的主要功能是提供页面布局和装饰功能,使得开发者可以方便地实现统一的页面头部、尾部、侧边栏等元素,从而提高网站的整体风格一致性。在本实例中,我们...
### Sitemesh简单教程页面装配器 #### 一、Sitemesh概述 Sitemesh是一款用于Web应用中的页面布局管理工具,它通过采用装饰器(Decorator)设计模式,实现了对Web页面布局的灵活管理和重用。传统的Web开发中,...
**Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...
**Sitemesh** 是一个流行的Java Web开发框架,主要用于页面布局和装饰。它提供了一种简单的方法来管理和美化Web应用程序的界面,通过定义全局的页面布局模板,将内容区域与样式分离,使得开发者可以集中精力处理业务...
SiteMesh 是一个开源的Web应用程序布局和装饰框架,主要用于解决Web应用中的页面布局问题。它通过拦截HTTP请求,将页面内容与预定义的布局模板相结合,实现统一的页面头部、底部和侧边栏等元素,从而提高网站的整体...
SiteMesh 是一个开源的Web应用程序框架,主要用于帮助开发者实现页面布局和装饰功能。它通过拦截HTTP请求,将页面内容与布局模板相结合,从而提供了一种简单有效的方式来管理和控制Web应用的外观和感觉。在Web开发中...
这通常是由于字符编码设置不一致导致的。为解决这个问题,我们需要确保以下几个方面都使用了正确的字符编码: 1. **项目配置**:确保你的项目配置文件(如web.xml)中指定了正确的字符编码,例如设置`<filter>`标签...
Sitemesh是一款强大的Web页面布局和装饰框架,它主要用于帮助开发者实现网站的统一外观和感觉。这个框架的主要功能是将页面的主体内容与页眉、页脚、侧边栏等通用部分分离,使得在大量网页中保持一致的设计风格变得...
SiteMesh也允许装饰器从实际页面提取标题,然后显示在页面的头部。 ***Mesh与其他技术的整合: SiteMesh可以与多种JSP标签库、模板引擎以及前端技术结合使用,如Struts、Velocity、Jakarta、JSR 168 Portlets等。这...
当用户访问`/index.jsp`时,SiteMesh会自动使用之前定义的装饰器页面对其进行装饰,从而呈现出完整的页面布局。 #### Sitemesh对于性能的影响 为了评估SiteMesh对Web应用程序性能的影响,进行了一系列的测试。 **...
Sitemesh的出现解决了这个问题,它允许开发者定义一个或多个装饰模板,然后自动将这些模板应用到所有的Web页面上。 **工作原理**: Sitemesh的工作原理主要是通过拦截HTTP请求,对响应内容进行处理。当用户请求一个...
sitemesh 装饰页面技术.
Sitemesh 是一个开源的 Web 应用程序装饰框架,主要用于解决网页布局和页面统一风格的问题。它通过拦截 HTTP 请求,将请求的页面内容与预先定义好的模板结合,使得开发者可以轻松地创建出统一的网站外观和感觉。在...
Sitemesh 是一个开源的网页布局和装饰框架,它主要负责处理Web应用程序的页面布局,使得开发者可以集中精力于应用的核心功能,而不用过多关注页面样式的一致性和美观性。Sitemesh 提供了一种优雅的方式来组织和装饰...
在Java Web开发中,SiteMesh是一个非常流行的页面布局框架,它可以帮助开发者轻松地实现网站的统一外观和感觉,以及提供页面装饰功能。标题中的“sitemesh jar包”指的是SiteMesh框架的核心库文件,它是SiteMesh功能...
- **资源加载**:确认所有的资源文件(如CSS、JavaScript等)都正确加载,避免因资源未找到导致页面显示不全的问题。 - **性能考虑**:虽然Sitemesh简化了页面布局的处理,但在大型项目中仍需关注性能问题,特别是在...
SiteMesh 提供了一种简单有效的方式来进行页面布局,使得开发者可以专注于业务逻辑,而不必担心页面的统一风格问题。通过登录和注册页面的示例,我们可以看到 SiteMesh 如何帮助我们实现页面的统一装饰,同时保持...
开发者需要将这些库添加到他们的项目类路径中,以确保Sitemesh3能够正常工作。 2. **api** 目录:这个目录下的文档通常是Javadoc,提供了Sitemesh3 API的详细说明。开发者可以通过阅读这些文档来了解如何使用...