sitemesh導致頁面不能正常顯示問題

今天測試平臺時,發現一個頁面只顯示了一半,後半截沒了,用dw驗證了一個html,沒發現什麼問題,想了一下,問題只能出在sitemesh上,於是把sitemesh先註釋掉,果然這個頁面可以正常顯示了.
注:這個頁面是以前的,沒有用到sitemesh控制佈局結構,我把該頁面改爲用sitemesh佈局後,也能正常顯示.
web.xml中配置的過濾器:
 
  1. <filter>  
  2.     <filter-name>Acegi Filter Chain Proxy</filter-name>  
  3.     <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>  
  4.     <init-param>  
  5.         <param-name>targetClass</param-name>  
  6.         <param-value>org.acegisecurity.util.FilterChainProxy</param-value>  
  7.     </init-param>  
  8. </filter>  
  9. <filter>  
  10.     <filter-name>webwork-cleanup</filter-name>  
  11.     <filter-class>com.opensymphony.webwork.dispatcher.ActionContextCleanUp</filter-class>  
  12. </filter>  
  13. <filter>  
  14.     <filter-name>sitemesh</filter-name>  
  15.     <filter-class>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter</filter-class>  
  16. </filter>  
  17. <filter>  
  18.     <filter-name>webwork</filter-name>  
  19.     <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>  
  20. </filter>  
  21.   
  22. <filter-mapping>  
  23.     <filter-name>Acegi Filter Chain Proxy</filter-name>  
  24.     <url-pattern>/*</url-pattern>  
  25. </filter-mapping>  
  26. <filter-mapping>  
  27.         <filter-name>webwork-cleanup</filter-name>  
  28.         <url-pattern>/*</url-pattern>  
  29. </filter-mapping>  
  30. <filter-mapping>  
  31.         <filter-name>sitemesh</filter-name>  
  32.         <url-pattern>/*</url-pattern>  
  33. </filter-mapping>  
  34. <filter-mapping>  
  35.         <filter-name>webwork</filter-name>  
  36.         <url-pattern>*.action</url-pattern>  
  37. </filter-mapping>  

siteMesh.xml配置如下:
 
  1. <sitemesh>  
  2.     <property name="decorators-file" value="/WEB-INF/decorators.xml"/>  
  3.     <excludes file="${decorators-file}"/>  
  4.   
  5.     <page-parsers>  
  6.         <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>  
  7.         <parser content-type="text/html;charset=UTF-8"  
  8.             class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />  
  9.     </page-parsers>  
  10.   
  11.     <decorator-mappers>  
  12.   
  13.         <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">  
  14.             <param name="property.1" value="meta.decorator"/>  
  15.             <param name="property.2" value="decorator"/>  
  16.         </mapper>  
  17.   
  18.         <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper">  
  19.         </mapper>  
  20.   
  21.         <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper">  
  22.             <param name="match.MSIE" value="ie"/>  
  23.             <param name="match.Mozilla [" value="ns"/>  
  24.             <param name="match.Opera" value="opera"/>  
  25.             <param name="match.Lynx" value="lynx"/>  
  26.         </mapper>  
  27.   
  28.         <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">  
  29.             <param name="decorator" value="printable"/>  
  30.             <param name="parameter.name" value="printable"/>  
  31.             <param name="parameter.value" value="true"/>  
  32.         </mapper>  
  33.   
  34.         <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper">  
  35.             <param name="decorator" value="robot"/>  
  36.         </mapper>  
  37.   
  38.         <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">  
  39.             <param name="decorator.parameter" value="decorator"/>  
  40.             <param name="parameter.name" value="confirm"/>  
  41.             <param name="parameter.value" value="true"/>  
  42.         </mapper>  
  43.   
  44.         <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper">  
  45.         </mapper>  
  46.   
  47.         <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">  
  48.             <param name="config" value="${decorators-file}"/>  
  49.         </mapper>  
  50.   
  51.     </decorator-mappers>  
  52.   
  53. </sitemesh>  


我的表示層用的是Freemarker,在項目裏不是直接訪問Freemarker的,都有有webwork的action轉發過去的.
個人覺得可能是以下原因:
1,sitemesh對頁面的大小有限制,只能輸出大小爲一定量的響應流.??
2,配置有問題,可能是那裏配置有誤,或者是acegi過濾器和sitemesh是否會衝突??
那位遇到同樣的問題或者有好的解決方案,大家探討一下.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章