1、配置好Struts2的环境
2、配置好FreeMarker的环境
(1)拷贝FreeMarker的jar包到lib目录下
(2)在web项目的web.xml文件中配置如下
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>
freemarker.ext.servlet.FreemarkerServlet
</servlet-class>
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<init-param>
<param-name>NoCache</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>ContentType</param-name>
<param-value>text/html</param-value>
</init-param>
<init-param>
<param-name>template_update_delay</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>default_encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>locale</param-name>
<param-value>en_US</param-value>
</init-param>
<init-param>
<param-name>number_format</param-name>
<param-value>0.##########</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
3、Functioninfo.java文件(POJO类)
public class Functioninfo {
private String functionid;
private String functionname;
private String fdescription;
//省略getter和setter方法
}
4、FunctioninfoService.java文件(提供list数据)
public class FunctioninfoService {
public List<Functioninfo> findAll() {
List<Functioninfo> list = new ArrayList<Functioninfo>();
for (int i = 0; i < 9; i++) {
Functioninfo info = new Functioninfo();
info.setFunctionid("a" + i);
info.setFunctionname("b" + i);
info.setFdescription("c" + i);
list.add(info);
}
return list;
}
}
5、FreeTestAction.java文件
public class FreeTestAction {
FunctioninfoService functioninfoService = new FunctioninfoService();
private List<Functioninfo> functionlist;
public String execute() throws Exception {
functionlist = functioninfoService.findAll();
return "success";
}
public List<Functioninfo> getFunctionlist() {
return functionlist;
}
public void setFunctionlist(List<Functioninfo> functionlist) {
this.functionlist = functionlist;
}
}
6、FreeMarker的ftl文件
在WEB-INF目录下新建一个ftl文件:Free.ftl内容如下。
<?xml version="1.0" encoding="utf-8"?>
<Functioninfo>
<#list functionlist as function>
<function>
<functionid>${function.functionid}</functionid>
<functionname>${function.functionname}</functionname>
<fdescription>${function.fdescription}</fdescription>
</function>
</#list>
</Functioninfo>
7、在Struts2的配置文件中配置
<action name="free" class="com.free.action.FreeTestAction">
<result name="success" type="freemarker">
<param name="location">
/WEB-INF/template/Free.ftl
</param>
<param name="contentType">application/xml</param>
</result>
</action>
8、访问路径http://localhost:8000/xml/free ,可以查看到由模板生成的xml文本。
分享到:
相关推荐
要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...
在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...
在学习和使用这个项目实例时,你需要理解每个框架的核心概念和工作原理,如Struts2的动作(Action)和结果(Result),Hibernate的实体(Entity)、会话(Session)和查询,以及FreeMarker的模板语法。此外,还需要...
- 将struts-tags.tld复制到工程的WEB-INF目录下,这将使Struts2的标签能在JSP或Freemarker模板中使用。 - 配置web.xml,添加Struts2的过滤器和过滤器映射,确保所有请求都经过Struts2处理。同时,为在Freemarker中...
Struts2和FreeMarker是两种在Java Web开发中广泛应用的技术。Struts2是一个基于MVC(Model-View-Controller)架构模式的开源框架,用于构建动态、数据驱动的Web应用程序,而FreeMarker则是一个模板引擎,它允许...
2. **配置Struts2**:在`struts.xml`配置文件中,指定使用FreeMarker作为视图解析器。例如: ```xml <constant name="struts.views.freemarker.templateLoaderPath" value="/WEB-INF/classes/"/> ...
将Struts2与Freemarker结合使用,可以实现视图层的高效渲染,提供更灵活的页面设计。 在Struts2中整合Freemarker,主要涉及以下几个关键知识点: 1. **Freemarker模板语言**:Freemarker使用模板语言,由`<#...>`...
而未列出的另一个文件可能是实际的Freemarker模板文件,或者是关于Struts2和Freemarker结合使用的配置或指南。 总之,Struts2 和 Freemarker 的组合提供了一种强大的方式来构建动态Web应用。理解它们的协作机制和...
在实际项目中,Struts2和FreeMarker的结合使用可以有效地构建出可维护、可扩展的Web应用。通过Action类处理业务逻辑,FreeMarker负责生成HTML页面,两者协同工作,为开发者提供了一种高效的开发模式。学习和掌握这两...
在实际开发中,"freemarker2"这个文件可能是Freemarker的一个示例模板或者配置文件,它可能包含了如何使用Freemarker语法来构建动态网页的具体示例。通过对这个文件的深入学习和实践,开发者可以更熟练地掌握Struts2...
通过将Struts2的模型数据传递给FreeMarker模板,前端开发人员可以使用FreeMarker提供的丰富的模板标签和函数来渲染页面。 #### 配置Struts2与FreeMarker 在Struts2中使用FreeMarker之前,首先需要进行相应的配置。...
这个名为"Struts2零配置+FreeMarker用户管理系统(UMS)"的项目,旨在通过注解的方式展示如何在不编写XML配置文件的情况下,利用Struts2和FreeMarker创建一个用户管理系统。 首先,我们来了解一下Struts2框架。Struts...
6. **结果类型配置**:在Struts2的配置文件中,可以将结果类型设置为`dispatcher`,这将使Struts2使用Freemarker解析并渲染模板: ```xml <result name="success" type="dispatcher">/WEB-INF/ftl/hello.ftl ``` ...
在Struts2中结合使用Freemarker,可以方便地生成XML文本,这对于数据交换或XML配置文件的生成非常有用。以下将详细介绍如何在Struts2中利用Freemarker生成XML文本的步骤。 1. **环境配置** 首先,确保你已经安装并...
Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache软件基金会下的一个开源项目,被广泛用于构建企业级Java Web应用。Struts2提供了丰富的特性,如拦截器、插件架构、灵活的数据绑定以及强大的表单...
Struts2和Freemarker是两个非常流行的Java Web开发框架,它们经常被一起使用来构建动态、交互式的Web应用程序。国际化(Internationalization,通常缩写为i18n)是软件开发中的一个重要概念,它允许应用程序支持不同...
总结起来,"spring+hibernate+struts2+freemarker SSH2 新闻发布系统"是一个基础的Java Web项目,展示了SSH2框架组合在实际开发中的应用。开发者可以通过学习这个小例子,理解如何整合这些技术来构建更复杂的Web应用...
Struts2 和 Freemarker 是两个在Java Web开发中广泛使用的框架和模板引擎,它们结合使用可以构建出高效、可维护的MVC应用。Struts2 是一个基于MVC设计模式的开源框架,它继承了经典的Struts1框架,并在很多方面进行...
将FreeMarker与Struts2结合使用,可以实现灵活且高效的视图层渲染。 ### 1. 配置环境 在开始配置之前,确保已安装了Struts2框架和FreeMarker库。通常,Struts2的依赖已经包含了FreeMarker,但为了确保版本兼容,...
Struts2和FreeMarker是Java Web开发中两个重要的框架,它们常常被一起使用来构建动态网站。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,而FreeMarker则是一个模板引擎,主要用于生成动态内容...