`
caohuan346
  • 浏览: 23164 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts2下使用FreeMarker

阅读更多

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文本。
 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics