`

sitemesh配置小结

阅读更多

今天又再一次配置了一个小小的练习项目,在配置sitemesh的过程中,总结了一下对sitemesh需要注意的几点。

 

具体的jar包不再累述。网上实在太多。把需要的都放入lib中就好。

 

我今天配置的问题是出在web.xml的配置中。

 

web.xml配置

	
	<filter>
		<filter-name>struts2-clean</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
	</filter>
	
	<filter>
		<filter-name>sitemesh</filter-name>
		<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
	</filter>
	
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
	</filter>
	
	<!--下面的sitemesh一定要注意放在struts2-clean与struts2之间 -->
	<filter-mapping>
		<filter-name>struts2-clean</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>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/struts/*</url-pattern>
	</filter-mapping>
	
	

 这个配置与我第一次的配置有点小的出入。将strut2的filter-class由原来的org.apache.struts2.dispatcher.ng.filter .StrutsPrepare AndExecuteFilter这一个配置分成了struts-clean的StrutsPrepareFilter 与struts2的StrutsExecuteFilter 这两个filter。所以当我配置这次sitemesh时没有注意到顺序问题。将sitemesh配置在最后,所以在我做好配置启动后却无法看到sitemesh的效果。

这种很低级的错误也是我这种新人常常不注意的地方。

 

decorator.xml配置没有什么多说的。

 

<decorators defaultdir="/WEB-INF/struts-view/decorator">
    <!-- 不需要装饰的页面放在这里面 -->
    <excludes>    
		 
    </excludes>
    <decorator name="main" page="decorator.jsp">
		<pattern>*</pattern>
    </decorator>
</decorators>

 

sitemesh.xml配置(可选)

<sitemesh>
    <property name="decorators-file" value="/WEB-INF/decorators/decorators.xml"/>
    <excludes file="${decorators-file}"/> 
    <page-parsers>
        <parser default="true" 
            class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
        <parser content-type="text/html" 
            class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
        <parser content-type="text/html;charset=ISO-8859-1"
            class="com.opensymphony.module.sitemesh.parser.FastPageParser"/>
    </page-parsers>

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

没有特别改动的话应该是没有问题了。关键在于web.xml中的顺序问题,稍加注意就好了。

 

分享到:
评论

相关推荐

    Sitemesh 3 的使用及配置

    ### Sitemesh 3 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...

    一个Struts2+Spring2.5+SiteMesh的小DEMO

    3. **SiteMesh配置**:研究sitemesh.xml,了解装饰规则的设定以及如何定义布局文件。 4. **Action和Controller**:研究HelloWorld相关的Java代码,看它是如何处理请求、调用服务和返回结果的。 5. **视图层**:查看...

    SiteMesh教程及SiteMesh官方文档翻译

    然后,可以在`web.xml`中配置Sitemesh过滤器,并在Spring配置文件中配置Freemarker视图解析器。 下面是一个简单的例子,展示了如何在Spring MVC项目中同时使用Sitemesh和Freemarker。 **`web.xml`配置** ```xml ...

    java sitemesh 页面框架

    2. 配置web.xml:在`web.xml`中配置Sitemesh Filter,指定过滤器的类名和初始化参数。 3. 创建装饰器模板:创建`.jsp`或`.html`文件作为装饰器,定义页面的通用结构。 4. 应用装饰器:可以通过`@Decorate`注解或在`...

    SiteMesh

    4. **配置(Configuration)**: SiteMesh的配置文件(通常为`sitemesh.xml`)用于设置装饰策略,包括哪些URL需要被装饰,以及使用哪个装饰器等。 **使用步骤** 1. **集成SiteMesh**: 将SiteMesh的JAR文件添加到...

    sitemesh

    当一个请求到达服务器,Sitemesh会根据配置找到合适的装饰器,然后使用它来包装请求的页面内容。 在Sitemesh中,`index.html` 可能是一个示例母版页面,包含了网站的标准布局。其他文件如 `badsource.html`、`...

    siteMesh demo+文档

    2. **配置SiteMesh**:在web.xml中配置SiteMesh Filter是必要的,这会告诉Servlet容器何时及如何使用SiteMesh来处理请求和响应。 3. **定义装饰模板**:SiteMesh允许你创建一个或多个装饰模板,这些模板定义了页面...

    sitemesh框架简单例子

    接下来,配置Sitemesh。这通常在web.xml文件中完成,你需要设置过滤器来启动Sitemesh,并指定哪些页面需要被装饰。默认情况下,Sitemesh会装饰所有HTML内容,但你可以通过配置过滤器来指定特定的URL模式。 然后,...

    sitemesh3-demo

    在提供的压缩包文件`sitemesh3`中,可能包含了Sitemesh3的库文件、示例项目的源代码、配置文件和其他相关资源。通过学习和分析这些文件,你可以更深入地理解Sitemesh3的工作原理和使用方法,进一步提升你在Web开发中...

    sitemesh3demo附配置说明

    `sitemesh3demo附配置说明`这个主题涉及到的是一个使用Sitemesh3框架的演示项目,其中包含了配置的详细指南。Sitemesh是一个开源的Web应用程序模板引擎和页面装饰框架,它主要用来帮助开发者实现网页布局、样式统一...

    页面装饰器(sitemesh)实例源代码

    2. **配置web.xml**:在`WEB-INF/web.xml`中,我们需要配置Sitemesh过滤器。添加以下代码段,使Sitemesh能够拦截请求并应用装饰: ```xml &lt;filter-name&gt;...

    sitemesh3官方下载包

    4. **配置说明**:这部分通常是一份文档,详细解释了如何配置Sitemesh3以适应不同的Web应用环境。它可能包括XML配置文件的示例,以及关于如何在web.xml中设置过滤器和初始化参数的指导。 Sitemesh3的核心功能包括:...

    sitemesh入门demo

    - 接着,在Web应用的`web.xml`配置文件中,需要配置Sitemesh的过滤器,以启用Sitemesh的页面装饰功能。 2. **Sitemesh工作原理** - 当用户请求一个Web页面时,Sitemesh过滤器会捕获请求,判断是否需要装饰该页面...

    springMVC与sitemesh的结合

    2. **配置Sitemesh**:接下来,需要在Spring MVC的配置文件中启用Sitemesh。这可以通过创建一个DelegatingFilterProxy bean并指向Sitemesh的过滤器实现。例如: ```xml &lt;filter-name&gt;sitemesh &lt;filter-class&gt;...

    SiteMesh教程.pdf

    - decorators.xml:这是一个配置文件,用于配置SiteMesh的装饰器和装饰规则,如指定哪个装饰器应用到哪些页面上。 ***Mesh配置: - 在web.xml中配置SiteMesh的Filter和Filter-Mapping,确保SiteMesh能够拦截所有Web...

    sitemesh 例子

    在压缩包文件"testgit"中,可能包含了实际的项目源码,如Sitemesh的配置文件、装饰器模板、以及使用Sitemesh的示例页面。通过查看这些文件,你可以更深入地理解Sitemesh如何工作,并在自己的项目中进行实践。 此外...

    spring mvc sitemesh velocity整合

    3. **配置Sitemesh**:在web.xml中配置Sitemesh的Filter,设置装饰器目录和排除不需装饰的URL。Sitemesh Filter会拦截请求并应用页面装饰。 4. **编写Velocity模板**:创建Velocity模板文件,定义页面的结构和动态...

    sitemesh例子

    2. **配置 web.xml**:在你的 `WEB-INF/web.xml` 文件中,添加 Sitemesh 过滤器配置。这通常包括以下内容: ```xml &lt;filter-name&gt;sitemesh &lt;filter-class&gt;...

    sitemesh装饰器入门

    `sitemesh.conf` 是 Sitemesh 的核心配置文件,它定义了装饰器的选择规则、装饰器的布局以及一些其他选项。例如,我们可以指定默认的装饰器模板: ``` ``` 3. **创建装饰器模板**: 装饰器(Decorator)是 ...

Global site tag (gtag.js) - Google Analytics