`

struts2与freemarker的集成

阅读更多
1、将freemarker的jar包添加到项目中

2、创建Action类
//此处的Configuration是freemarker包中的Configuration因为我们在开发中会用到
//各种框架例如hibernate,都会有Configuration,所以别引入错了
private static Configuration cfg = new Configuration();
	static {
		//配置freemarker从什么地方加载模板
		cfg.setTemplateLoader(new ClassTemplateLoader(DocumentAction.class, "templates"));
		//忽略异常
		cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
	}
	
	//获取动态的表单
	public String dynaForm(int workFlowId) {
		try {
			//加载与该流程定义相关的流程表单对象
			FlowForm form = this.flowFormService.searchFlowFormByWorkFlowId(workFlowId);
			if(form == null) {
				return null;
			}
			
			//得到该流程表单所应用的模板
			Template template = cfg.getTemplate(form.getTemplate());
			Map root = new HashMap();
//将查询出来的form对象通过map放到模板中,在模板的定义中会使用到,调用的时候会填充好数据显示出来
			root.put("form", form);
			
			Writer out = new StringWriter();
//将根据模板生成页面数据显示到相应的页面上
			template.process(root, out);
			return out.toString();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}

我们可以在需要显示该模板的页面中调用该方法,就会显示出相应的模板内容:
<s:property value="dynaForm(workFlowId)" escape="false" />
1
1
分享到:
评论

相关推荐

    struts2和freemarker整合

    1.FreeMarker 2.3.16pdf手册 2.struts2+freemarker web项目例子,可以运行

    Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化

    Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化,以后直接调用即可,无需修改任何源代码,改压缩文件包括 1、工具类; 2、源码(含jar包); 3、mysql数据库可执行文件; 4、struts2集成...

    Struts2 Hibernate Spring CXF JSON FreeMarker

    附件是我平时对一些技术的Demo,包含 Struts2 Hibernate Spring集成,涉及到CXF JSON FreeMarker等技术,SSH2使用的Struts2的零配置。有兴趣的可以下载研究学习。

    Struts2实战.pdf

    主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、Spring框架集成等新特性。《Struts 2实战》适合...

    Struts2相关的书籍集合

    文档包括以下内容(全部来源自网络): -- Struts2概述; -- Freemarker概述; -- Webwork源码分析; -- Struts2与Spring集成; -- Struts2 Ajax应用。

    struts1+spring+hibernate+freemarker一个小例子

    简单的用ssh做了一个小例子,最初级的,简单的很,有机会在增加内容

    struts2 in action

    主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、Spring框架集成等新特性。《Struts 2实战》适合...

    struts 2集成到Spring的5个jar包+1个插件

    struts 2应用只需要下列几个必须的jar: commons-logging-1.0.4.jar freemarker-2.3.8.jar ognl-2.6.11.jar ...同时提供struts2为了集成到spring时必须的插件 struts2-spring-plugin-2.0.11.jar

    struts2整合spring2的配置

    1. 导入的包 &lt;br&gt;l struts2的五个基础包:commons-logging-1.1.jar; &lt;br&gt;freemarker-2.3.8.jar; &lt;br&gt;ognl-2.6.9.jar; &lt;br&gt;struts-core-2.0.6.jar; &lt;br&gt;xwork-2.0.0.jar. &lt;br&gt;l spring的核心包:...

    Struts2 in action中文版

    第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 为什么使用框架 8 1.3 Struts 2框架...

    Struts2的工作原理和流程

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

    深入浅出struts2

    │深入浅出STRUTS 2 Struts Ti却发现了二者在技术与开发人员这两个层面上的共同之处,不久之后,两个项目就在WebWork的技术基础上进行了合并2。 当我们说起WebWork的时候,我们实际上说的是两个项目——XWork和...

    Struts2 in Action英文文字版

    主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、Spring框架集成等新特性。本书适合各层次Java...

    Struts2实战(中文版)

    主要内容包括Action、Result、Interceptor等框架组件,基于注解的配置选项等新特征,Struts 2插件 FreeMarker,如何从Struts 1和WebWork 2迁移到Struts 2,Ajax标签、Spring框架集成等新特性。本书适合各层次Java...

    freemarker+fckeditor+struts+hibernate

    使用了struts+hibernate框架,并集成了fckeditor3.5.3 和 freemarker 保证能够实用,如果运行出现问题,请联系我 chenyanhu@vip.163.com

    struts2开发文档

    struts2的所有知识点 流程 原理 一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求; 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个...

    Struts2 入门培训

    4 1.3.2. 受控目录 5 2. 入门例子 5 2.1. 项目 5 2.2. 在WEB.XML中,配置FILTERDISPATCHER过滤器 6 2.3. 配置STRUTS.PROPERTIES 6 2.4. 编写一个简单的ACTION类 7 2.5. STRUTS.XML配置文件 8...

    struts2.0.jar

    Struts 2标签现在可与FreeMarker、Velocity及类似模板引擎配合使用。 · 引入拦截器: Struts 2为拦截器(interceptor)提供了全面支持。拦截器可在Action类执行前后加以执行。拦截器经配置后,可以把工作流程或者...

Global site tag (gtag.js) - Google Analytics