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" />
分享到:
相关推荐
总结来说,Struts2与Freemarker的配置主要是围绕工程的环境搭建、Struts2的web.xml配置、struts.xml配置以及Freemarker模板的编写展开的。通过这种集成,开发者可以利用Struts2的强大控制逻辑和Freemarker的模板能力...
**Struts2与FreeMarker的整合** Struts2框架允许开发者选择不同的视图技术,FreeMarker就是其中一种。整合过程包括以下几个步骤: 1. **添加依赖**:在项目中添加FreeMarker和Struts2 FreeMarker插件的依赖。 2. **...
Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化,以后直接调用即可,无需修改任何源代码,改压缩文件包括 1、工具类; 2、源码(含jar包); 3、mysql数据库可执行文件; 4、struts2集成...
### Struts2与FreeMarker模板 #### Struts2简介 Struts2是Apache软件基金会的一个开源项目,它是一个用于开发Java EE应用程序的MVC(Model-View-Controller)框架。Struts2继承了Struts1的优点,并在此基础上进行...
通过以上步骤,可以成功地将Struts2与Freemarker整合到一起,构建出高效的Java Web应用。在实际开发中,还需要关注安全性、异常处理、国际化等方面,确保应用的稳定性和用户体验。同时,不断学习和理解这两个框架的...
**Struts2与FreeMarker的集成** 在Struts2中使用FreeMarker作为视图技术,需要进行以下步骤: 1. **配置依赖**:在项目的`pom.xml`或`build.gradle`文件中,添加FreeMarker的依赖库。 2. **配置Struts2**:在`...
这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起,构建了一个完整的Web应用程序。 **Struts2** 是一个强大的MVC框架,它基于Action和Result的设计模式,负责处理用户的请求,并将其转发到相应...
10. **Struts2与FreeMarker的集成**:如何在Action中设置模型数据,然后在FreeMarker模板中获取并显示这些数据。 11. **测试Struts2应用**:了解如何使用JUnit进行单元测试,以及Struts2提供的Mock对象进行集成测试...
在Struts2中集成FreeMarker,可以方便地将业务逻辑和视图层分离,提高代码的可维护性和可扩展性。 要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`...
在新闻发布系统中,Freemarker被用作视图层技术,与Struts2结合,根据Action返回的数据动态生成静态页面。这样可以将业务逻辑与表现逻辑分离,使得代码更加清晰。 5. **用户认证与权限管理** 系统中预设了一个管理...
**Struts2与Freemarker的整合:** 1. **视图层**:在Struts2中,Freemarker作为默认的视图技术,Action的结果可以直接映射到Freemarker模板文件。 2. **模板配置**:在struts.xml配置文件中,可以指定Action的结果...
其优点在于强大的拦截器机制,可实现如权限验证、日志记录等功能,同时提供了丰富的插件支持,如Struts2_Freemarker Plugin,使得Freemarker模板可以直接与Struts2框架无缝集成。 Freemarker模板语言是基于文本的,...
**Struts2与FreeMarker的整合:** 1. **Action与模板**:在Struts2中,Action执行完成后,通常会返回一个模板(通常是FTL文件),FreeMarker会解析这个模板并结合数据模型生成HTML响应。 2. **结果类型配置**:在...
在Struts1.2框架中集成FreeMarker,可以有效地将业务逻辑与视图层分离,提高应用程序的可维护性和性能。 1. **Struts1.2框架简介** - Struts1.2是Apache软件基金会的Jakarta项目的一部分,它提供了一套完整的MVC...
通过解压并运行这个实例,你可以了解到如何将Struts2的Action与FreeMarker模板结合起来,实现动态网页的生成。 总结起来,Struts2.0和FreeMarker的结合使用,能帮助开发者构建清晰的MVC架构,提高代码的可读性和可...
在这个“struts2中jsp和freemarker模板视图的案例”中,我们将深入理解如何使用这两种不同的视图技术与Struts2框架进行集成。 首先,我们来看JSP(JavaServer Pages)作为视图的实现。JSP是Java中的动态网页技术,...
2. **Struts2与Freemarker集成** Struts2是一个流行的Java Web框架,它提供了灵活的MVC模式实现。通过配置Struts2的Action类和结果类型,可以轻松地将Freemarker模板设置为视图渲染引擎。在Struts2的配置文件...
通过这个项目,你可以逐步掌握FreeMarker的基础知识,以及它与Struts2的集成方式,进一步提升在Web开发中的视图层能力。测试文件`testFreeMarker`和`testFreemarker2`可能包含了练习模板和Action的实例,用于实践...
在Struts与FreeMarker的整合中,通常需要在Struts的配置文件(struts-config.xml或struts2的struts.xml)中定义Action和对应的Result,指定使用FreeMarker来渲染结果。例如: ```xml <result type="freemarker">/...
Freemarker作为模板引擎,与Struts2和Spring很好地协同工作。它使用简单的语法来表示逻辑,分离了视图层与控制器层。开发者可以在Freemarker模板中引用模型数据,生成动态内容。Freemarker支持条件判断、循环结构、...