日期:2014-05-18  浏览次数:20946 次

sitemesh的一个问题,达人帮一下忙!!
刚开始使用sitemesh进行页面装饰,开发时使用的是tomcat,现在转到weblogic上就出现问题了.我在decorators.xml中是这样配置的:
<decorators   defaultdir= "/decorators ">
        <decorator   name= "default "   page= "default.jsp ">
                <pattern> /* </pattern>
        </decorator>
        <decorator   name= "res_default "   page= "res_default.jsp ">
                <pattern> /res* </pattern>
        </decorator>
</decorators>
当请求是以res开头时应该使用res_default.jsp这个装饰页面,这在tomcat下是没有问题的,可是在weblogic下却始终调不到这个,用的还是default.jsp.
各位有遇到过这个问题的吗?帮帮忙啊!!
另附上sitemesh.xml的内容(基本上没改过)
<sitemesh>
        <property   name= "decorators-file "   value= "/WEB-INF/decorators.xml "/>
        <excludes   file= "${decorators-file} "/>  
        <page-parsers>
                <parser   default= "true "   class= "com.opensymphony.module.sitemesh.parser.HTMLPageParser "/>
                <parser   content-type= "text/html "   class= "com.opensymphony.module.sitemesh.parser.HTMLPageParser "/>
                <parser   content-type= "text/html;charset=ISO-8859-1 "   class= "com.opensymphony.module.sitemesh.parser.HTMLPageParser "/>
        </page-parsers>

        <decorator-mappers>
                <mapper   class= "com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper ">
                        <param   name= "config "   value= "${decorators-file} "/>  
                </mapper>
        </decorator-mappers>
</sitemesh>


------解决方案--------------------
你把 <decorator name= "res_default " page= "res_default.jsp ">
放在default上面试试