`

sitemesh2嵌入Struts2应用项目

 
阅读更多

sitemesh2作为jsp页装饰器是以java filer形式嵌入jsp项目的,配置好以后,对业务代码基本没有耦合影响,使用方便,中规中矩,一般和Struts2项目结合。

1,webapp的WEB-INF/lib加入必要的库文件,如:

sitemesh-2.4.2.jar
struts2-sitemesh-plugin-2.3.33.jar

2,配置web.xml(与Struts2.3.XX)

 <filter>
	  <filter-name>struts-prepare</filter-name>
	  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
 </filter> 
<filter>  
    <filter-name>sitemesh</filter-name>  
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>  
</filter>
 <filter>
	  <filter-name>struts-execute</filter-name>
	  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
 </filter>

 <filter-mapping>
	  <filter-name>struts-prepare</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>struts-execute</filter-name>
	  <url-pattern>/*</url-pattern>
 </filter-mapping>

 3,配置decorators.xml(装饰具体的路径)

<?xml version="1.0" encoding="UTF-8"?>
<decoratos defaultdir="/jsp">  
    <decorator name="myDecorator" page="decorator.jsp">  
        <pattern>/*</pattern> 
    </decorator>  
    <excludes>   
    	<pattern>*.html</pattern>       
		<pattern>*.js</pattern>  
		<pattern>*.gif</pattern>  
		<pattern>*.jpg</pattern>  
		<pattern>*.png</pattern>  
		<pattern>*.css</pattern>  
	</excludes>
<!-- -->
	<decorator name="panel" page="/jsp/footer.jsp"></decorator>
</decoratos> 

 4,定义装饰页(模板页)

jsp页面,

引入标签定义:

<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %>

在head标签内插入<decorator:head></decorator:head>,以便运行时包含被装饰页的head部分内容,看需要加入<decorator:title></decorator:title>;

在body标签内适当位置插入被装饰页<decorator:body ></decorator:body>,

按需要加入定义的其他页

<page:applyDecorator page="/jsp/footer.jsp" name="panel"></page:applyDecorator>;

sitemesh2的其他标签视需要加入,参考http://wiki.sitemesh.org/wiki/display/sitemesh/Home

 

 

 

 

 

分享到:
评论

相关推荐

    struts2 +sitemesh:实例学习

    Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。... struts2 就不用说了撒

    struts2讲义.doc

    - **Struts2的Web项目集成**:通过在web.xml中配置FilterDispatcher,以及在struts.xml中定义Action映射和结果,可以快速构建基于Struts2的Web应用。 - **页面导航的定义**:利用struts.xml中的配置,可以灵活地控制...

    sitemesh简单教程页面装配器

    将Sitemesh的jar包(例如`sitemesh-2.3.jar`)复制到项目的`WEB-INF/lib`目录下。可以通过官方网址下载:[http://www.opensymphony.com/sitemesh/](http://www.opensymphony.com/sitemesh/)。 3. **创建装饰器配置...

    SiteMesh简单应用

    2. **页面装饰**:SiteMesh 过滤器会在服务器端对每个请求的页面内容进行装饰,即将页面内容嵌入到对应的装饰模板中。这一步骤可以通过配置文件或注解来指定,指定哪个页面使用哪个装饰模板。 3. **内容与模板的...

    SiteMesh教程.doc

    SiteMesh提供了一种简洁而有效的方式来管理和装饰Web应用的内容,特别是对于那些需要整合多种技术的大型项目而言,其价值尤为明显。通过合理的配置和实践,我们可以充分利用SiteMesh的优势,提高Web应用的开发效率和...

    Sitemesh例子分享

    Sitemesh可以与其他Web框架,如Spring MVC、Struts等无缝集成。通过适配器机制,可以让Sitemesh与这些框架一起工作,提供更强大的页面装饰能力。 **示例项目sitemeshDemo** 提供的压缩包`sitemeshDemo`应该是一个...

    sitemesh(example).rar_sitemesh_装修网站java

    下面我们将深入探讨 SiteMesh 的核心概念、工作原理以及如何在实际项目中应用它。 1. **核心概念**: - **布局(Layout)**:布局是 SiteMesh 的核心元素,它定义了一种通用的页面结构,如头部、主体和尾部等部分...

    sitemesh入门教材

    在更复杂的Web应用程序中,Sitemesh可以与Struts、Spring MVC、WebWork等MVC框架集成,提供一致的界面外观,同时保持各业务逻辑层的独立性。这种分层架构有助于提高代码的可读性、可扩展性和团队协作效率。 总之,...

    sitemesh框架解说

    2. **Web.xml配置**: 在web应用的web.xml文件中配置Sitemesh Filter,如下所示: ```xml &lt;filter-name&gt;sitemesh &lt;filter-class&gt;com.opensymphony.module.sitemesh.filter.PageFilter&lt;/filter-class&gt; ...

    SSH的jar包.rar

    2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3、接着FilterDispatcher被调用,...

    jsp静态化总结(jsp2html)

    2. **框架辅助**:使用如FreeMarker、Velocity等模板引擎,它们可以在运行时生成静态HTML,或者使用Struts2的StaticContentFilter进行静态化。 3. **自动化工具**:通过一些自动静态化工具,如SiteMesh、JSP2HTML等...

    网上电子竞拍系统 毕业论文

    该系统基于SSH框架(Struts2 + Spring + Hibernate)进行开发,并采用了JSP、JavaScript、Sitemesh等技术来构建网站页面。具体来说: 1. **SSH框架**: - **Struts2**:作为MVC(Model-View-Controller)框架的...

Global site tag (gtag.js) - Google Analytics