注:這個頁面是以前的,沒有用到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是否會衝突??
那位遇到同樣的問題或者有好的解決方案,大家探討一下.