`
pengjj2
  • 浏览: 139336 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

在struts2中整合sitemesh

 
阅读更多

今天在做个整合时,决定用sitemesh把几个页面的布局整理下。

 

很久没使用过了,咋一用还出了不少问题,幸亏网上资料比较多。所以还算比较顺利的解决了。

 

总结一下

 

我的版本是struts2 2.1.8

 

1、struts2 中使用sitemesh一定要用struts2 的插件 struts2-sitemesh-plugin-****.jar

否则是没有效果的

 

2、在web.xml中的filter顺序

 

    <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
     <filter>
        <filter-name>sitemesh</filter-name>
    	<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>
    <filter-mapping>
    	<filter-name>sitemesh</filter-name>
    	<url-pattern>/*</url-pattern>
    </filter-mapping>  
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>struts-default.xml,struts-plugin.xml,struts.xml,struts-tica.xml</param-value>
        </init-param>
    </filter>

 

sitemesh的filter一定是在

ActionContextCleanUp 和 StrutsPrepareAndExecuteFilter

之间的,千万别放错了,否则一定出问题

 

3、上述的弄完之后,可以建立你的模版文件了,下面,我都用自己的页面来举例了

/decorators/basic-theme.jsp

 

<%@page contentType="text/html; charset=UTF-8"%>
<%@ page pageEncoding="UTF-8" %>
<%@page import="com.qeweb.framework.common.Envir"%>
<%@page import="com.qeweb.tica.vendormgt.action.RegistAC"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<%@ include file="/WEB-INF/tica/common/jsp_includes.jsp"%>
<%
    response.setHeader("Cache-Control", "no-cache"); //HTTP   1.1
    response.setHeader("Pragma", "no-cache");        //HTTP 1.0
    response.setDateHeader("Expires", 0);
%>
<% String wwwroot = request.getContextPath();%>

<html>
<head>
<decorator:head></decorator:head>
</head>
<body>
   <body style="width: 100%;margin: 0 auto;" >
    <center>
        <div>
            <DIV class="topArc" style="height: 80px;"><img src="<%=ctx %>/framework/images/preference/theme/logo/<%=DisplayType.getThemeType() %>.jpg" width="100%" height="100%"></DIV>
            <div id="rbody" class="wrap">
                <div class="title">
                    <h1></h1>
                </div>
    				<decorator:body></decorator:body>
            </div>
        </div>
    </center>
	<center>
		<font size="2" color="#555555"></font>
	</center>
</body>
</html>

 

4、装饰配置文件

/WEB-INF/decorators.xml

<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/decorators">
	<excludes>       
        <pattern>*.js</pattern>
        <pattern>*.gif</pattern>
        <pattern>*.jpg</pattern>
        <pattern>*.png</pattern>
        <pattern>*.css</pattern>
    </excludes>
	

    <decorator name="basic-theme" page="basic-theme.jsp">
        <pattern>/ticavendor/regist*.action</pattern>
    </decorator>
</decorators>

 

至此,最简单的一个sitemesh装配就完成了

 

 

0
1
分享到:
评论
1 楼 eric_hwp 2013-01-11  
大侠,求实例

相关推荐

    Struts2整合SiteMesh

    2. **配置Struts2**:在struts.xml配置文件中,添加SiteMesh插件的配置,使Struts2知道需要使用SiteMesh进行页面装饰: ```xml &lt;constant name="struts.action.excludePattern" value="/decorator.*"/&gt; ...

    Struts2整合SiteMesh技巧

    ### Struts2整合SiteMesh技巧 #### 概述 在Web开发中,为了实现页面布局的统一性与可维护性,通常会采用一种称为“页面布局管理”的技术。Struts2框架提供了对SiteMesh的支持,这是一种强大的页面布局管理工具。...

    struts2与sitemesh整合所需架包

    要将Struts2和Sitemesh整合,我们需要两个关键的组件:Sitemesh框架本身(在这个例子中是版本2.4.2)和Struts2的Sitemesh插件(版本2.1.8)。这两个组件的集成使得Struts2能够自动将Sitemesh应用于其返回的页面,...

    struts2学习--helloword

    在Struts2中整合SiteMesh,你需要将sitemesh-2.3.jar和Struts2-sitemesh-plugin-2.0.6.jar添加到项目的类路径下。然后,在`web.xml`中配置ActionContextCleanUp过滤器和SiteMesh的PageFilter,这两个过滤器分别用于...

    struts2+sitemesh例子

    Struts2和Sitemesh是两个非常流行的Java Web开发框架,它们在构建高效、结构化的MVC(模型-视图-控制器)应用中起到关键作用。Struts2是一个基于MVC设计模式的开源框架,主要用于控制应用程序的流程,而Sitemesh则是...

    struts2-sitemesh-plugin-2.0.6.jar

    struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业

    struts2sitemesh-freemarker 源码

    在源码中,可以看到Sitemesh配置和过滤器的实现,以及如何与Struts2整合,确保每个Action的结果都能被正确装饰。 3. **FreeMarker模板引擎**:FreeMarker是一个基于模板的语言,它与Java代码分离,使得视图层更加...

    Struts2.0 与 sitemesh的例子

    在Struts2与Sitemesh的整合中,我们通常会在Struts2的配置文件中添加Sitemesh的拦截器,这样,每次Struts2处理完Action返回的结果后,Sitemesh会自动对结果页面进行装饰。这样不仅简化了开发者的工作,也让网站的...

    SiteMesh 开发 struts插件

    4. **标记可装饰的页面**:在 Struts2 的 Action 类或者 JSP 页面中,使用 `@Decorator` 注解或 `&lt;sitemesh:meta&gt;` 标签指定页面是否需要被装饰以及使用的装饰器名称。 例如,在 Action 类中: ```java @Decorator...

    struts2 +sitemesh:实例学习

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

    sitemesh+ spring2 + struts2 + hibernate 的 demo

    在SSH2中,Spring负责管理Struts2的Action、Hibernate的SessionFactory以及其他的业务组件,使得整个应用更加灵活和可维护。 **Struts2框架**: Struts2是一个MVC框架,处理用户请求并调用相应的业务逻辑。它提供了...

    struts2 spring ibatis整合的最少最全jar包

    1. 添加依赖:整合SSH,需要在项目中引入相应的jar包,包括Struts2、Spring、iBatis以及它们的依赖库,例如sitemesh用于页面装饰。确保包含所有必要的jar,如描述中提到的,这里有18个jar包,涵盖了基本需求。 2. ...

    [Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版) 1/12

    第10章 Struts 2的标签库,第11章 Struts 2的Ajax支持,第12章 使用FreeMarker充当表现层,第13章 整合Spring,第14章 整合JSF,第15章 整合SiteMesh,第16章 整合JasperReports,第17章 整合JFreeChart,第18章 ...

    初试sitemesh实现模块简易整合

    本篇文章将详细介绍如何在项目中初步整合Sitemesh,以便实现模块化的设计。 ### 一、Sitemesh 概述 1. **装饰模式**:Sitemesh 使用装饰模式,通过拦截HTTP请求,动态地将页面内容与装饰模板结合,形成最终的HTML...

    spring+struts2+ibatis整合

    在Struts2中,可以使用FreeMarker作为视图层模板,方便渲染页面。 - **Hibernate**:是一个强大的ORM框架,可以自动处理对象与数据库之间的映射,提供了更高级的特性如缓存和查询语言。虽然本案例中主要讨论iBatis,...

    struts2+spring +hibernate 整合应用实现用户登陆。

    配置`decorator.xml`,定义装饰器模板,然后在Struts2的配置中启用SiteMesh拦截器,实现页面装饰。 通过以上步骤,我们可以构建一个完整的Struts2+Spring+Hibernate整合应用,实现用户登录、注册、修改和删除等...

    Struts2+Spring+Hibernet+JPA+sitemesh+log4j

    它们各自承担着不同的职责,并且在实际项目中经常被整合使用,形成了所谓的"SSH2"(Struts2 + Spring + Hibernate)框架组合,加上JPA和SiteMesh,进一步提升了开发效率和应用的可维护性。 1. **Struts2**:这是一...

    Struts2+Spring+Ibatis环境配置.doc

    8. `struts2-sitemesh-plugin-2.0.11.jar`:整合Sitemesh进行页面布局和装饰。 Spring框架的核心组件主要是`spring.jar`,它提供: 1. 依赖注入(DI)和控制反转(IoC):使得对象间的依赖关系可以在运行时自动管理...

Global site tag (gtag.js) - Google Analytics