`
morgan-java
  • 浏览: 56211 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

整合Struts2.1.6 + Sitemesh2.4.1 + Freemarker 2.3.16

阅读更多

1. 首先 这些jar包都去官方 下载好,包括源代码.
另外还需要struts2-sitemesh-plugin-2.1.6.jar

 

2. WEB-INF/web.xml 主要设置

评述:这个filter的顺序是有关系的. StrutsPrepareFilter -> FreeMarkerPageFilter -> StrutsExecuteFilter

如果不配置sitemesh-freemarker, freemarker文件就不会被解析.

 

 

	<!-- SiteMesh FreeMarker -->
	<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>org.apache.struts2.sitemesh.FreeMarkerPageFilter</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>

	<servlet>
		<servlet-name>sitemesh-freemarker</servlet-name>
		<servlet-class>
			com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet</servlet-class>
		<init-param>
			<param-name>TemplatePath</param-name>
			<param-value>/</param-value>
		</init-param>
		<init-param>
			<param-name>default_encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>sitemesh-freemarker</servlet-name>
		<url-pattern>*.action</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>sitemesh-freemarker</servlet-name>
		<url-pattern>*.ftl</url-pattern>
	</servlet-mapping>

 

3.  WEB-INF/decorators.xml

<?xml version="1.0" encoding="UTF-8"?>

<decorators defaultdir="/decorators">
    <!-- Any urls that are excluded will never be decorated by Sitemesh -->
    <excludes>
        <pattern>/exclude.jsp</pattern>
    </excludes>

	<decorator name="index" page="index.ftl">
		<pattern>/*</pattern>
	</decorator>

</decorators>

4. WEB-INF/classes/struts.xml 主要配置

    <action name="test_*" method="{1}" class="com.starcite.action.TestAction">
      <result name="input" type="freemarker">/freemarker/register.ftl</result>
      <result name="success" type="freemarker">/freemarker/success.ftl</result>
      <result name="error" type="freemarker">/freemarker/error.ftl</result>
    </action>

 5. com.starcite.action.TestAction.java

package com.starcite.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class TestAction extends ActionSupport {

    public String input() {
        return INPUT;
    }
    
    public String error() {
        return ERROR;
    }
    
    public String success() {
        return SUCCESS;
    }
}

  6. decorators/index.ftl

<html>
	<head>
		<title>Test - ${title}</title>
		${head}
	</head>
	<body>
		<#include "/decorators/header.ftl">
		<hr noshade="noshade" size="1"/>
		${body}
		<hr noshade="noshade" size="1"/>
		<#include "/decorators/footer.ftl">
	</body>
</html>

 7. decorators/header.ftl
自己随便写点东西.

 8. decorators/footer.ftl
自己随便写点东西.

9. freemarker/success.ftl

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title><@s.text name="success"/></title>
  </head>
  <body>
    <@s.text name="success.info"/>
  </body>
</html>

  freemarker/error.ftl, freemarker/register.ftl 略

 

 

 

分享到:
评论

相关推荐

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第二部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH

    Struts2.1.6+Struts2.0+Hibernate3.1整合示例

    目的:给学习SSH(Struts2.1.6+Spring2.0+Hibernate3.1)整合的学生。从使用角度看,Struts2的SSH事例比Struts1.x的SSH简单。至于声明式事务部分,你可以参见另外一个资源“Spring 2.0 + Struts 1.2 + Hibernate 3.2 +...

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3(第一部分)

    Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合完整jar包

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合的完整jar包,花了很长时间从Struts2.1.6、Hibernate3.3.1、Spring2.5.6挑出来的,在项目中已经应用,没有问题,不要嫌分高,下载了看了就知道好不好了,好的话给个好评...

    struts2.1.6 +spring2.5 +hibernate3.2整合开发的 jar包 _ 01部分

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...

    解决struts2.1.6+spring+hibernate 中文乱码

    ### 解决Struts2.1.6 + Spring + Hibernate 中文乱码问题 在Web开发过程中,特别是使用Java EE框架时,字符编码问题一直是开发者关注的重点之一。对于使用Struts2.1.6、Spring以及Hibernate这三个框架组合的项目而...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发 http://www.cnitblog.com/intrl/archive/2009/04/13/56322.aspx 这篇文章的源码由于他的上传的空间用户可能下载失败,作者相当牛而且具有奉献精神

    struts2.1.6+spring2.5=hibernate3.2整合实例

    struts2.1.6+spring2.5+hibernate3.2整合实例,绝对原创,绝对运行正常,jar文件的截图和sql都有 由于自己学习时耗了很多时间所以要分,请大家理解,有什么问题可以和我联系http://blog.163.com/lzy_eagle

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包

    Struts2.1.6、Hibernate3.3.1和Spring2.5.6是Java Web开发中的三个关键框架...提供的"Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包"就是经过验证的无冲突版本,可以直接用于项目中,减少了配置和调试的时间成本。

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解

    在深入探讨Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解的实现细节之前,我们先回顾一下这三个框架的基本概念及其在JavaEE企业级开发中的作用。 ### Struts2框架 Struts2是一个开源的Web应用框架,它遵循MVC...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.2整合包

    综上所述,Struts2.1.6+Spring2.5.6+Hibernate3.3.2的整合提供了全面的Java Web开发解决方案,它简化了开发流程,提高了代码的可维护性和可扩展性。开发者可以通过掌握这三个框架的整合,提升自身在企业级应用开发中...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1整合

    ### Struts2.1.6 + Spring2.5.6 + Hibernate3.3.1 整合 在本文中,我们将详细介绍如何将Struts2.1.6、Spring2.5.6以及Hibernate3.3.1进行整合,并构建一个简单的MVC应用。通过这个过程,读者将了解到这三种框架的...

    struts2.1.6+Spring2.0.8+Ibatis2.3.4工程

    struts2.1.6+Spring2.0.8+Ibatis2.3.4工程 开发工具:eclipse3.3+myeclipse6.5 应用技术:Struts2,Spring,Ibatis 数据库:oracle 测试JDK:JDK1.6 测试服务器:Tomcat6.0 非常完整的工程,部署到Tomcat上就可以使用...

    struts2.1.6+spring2.0.7+hibernate3.2整合例子

    在"struts2.1.6+spring2.0.7+hibernate3.2整合例子"中,开发者将这三个框架集成在一个项目中,以便充分利用它们的功能。Struts2作为前端控制器,负责接收用户的请求并分发到相应的业务逻辑层。Spring作为核心容器,...

    Struts2.1.6+Spring2.0+Hibernate3.1

    如果一切正常,将会看到预期的页面,表示Struts2.1.6+Spring2.0+Hibernate3.1的开发环境已经成功搭建完成。 以上就是Struts2.1.6、Spring2.0与Hibernate3.1这三个框架的整合开发环境配置过程的详细说明。通过上述...

    SSH2框架整合(Struts2.1.6+hibernate3.3.2+spring2.5.6)

    在这个例子中,使用的版本分别是Struts2.1.6、Hibernate3.3.2和Spring2.5.6。 首先,让我们详细了解一下这三个框架的核心功能: 1. **Struts2**:这是一个基于MVC(Model-View-Controller)设计模式的Web应用框架...

    SSH Struts 2.1.6 + Hibernate 3 + spring 3 框架 模板,可以直接在这个工程上开发,只需做很小修改

    SSH Struts 2.1.6 + Hibernate 3 + spring 3 框架 模板 这是学习 ssh的时候,方便开发,做了个模板。 如果重新做网站的话,可以直接在这个工程上开发。只需做很小的修改,例如在配置文件中修改工程名。创了这个模板...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误

    ### Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误 在使用Struts2.1.6、Spring2.5.6与Hibernate3.3.1进行框架整合时,开发者经常会遇到一些常见的问题。这些问题可能会导致程序无法正常运行或出现异常...

Global site tag (gtag.js) - Google Analytics