Struts2+freemarker实现打印出xml文件
2013-03-15 17:05
155 查看
前两天有关struts2的任务,刚整出来,有需要用freemarker去实现打印xml,所以在此写下点东西,希望能对刚开始学习的人有点帮助。
首先是free.jsp文件
<s:form action="FreeTestAction" namespace="/login"> <s:textfield name="username" label="用户名" id="usernameId" cssStyle="width:145px;" /> <s:password name="password" label="密 码" id="passwordId" cssStyle="width:145px;" /> <s:submit value="登录" theme="simple" method="execute"/> </s:form>
接下来是free.ftl文件
<?xml version="1.0" encoding="utf-8"?> <Functioninfo> <#list functionlist as function> <function> <id>${function.id}</id> <name>${function.name}</name> <fdescription>${function.fdescription}</fdescription> </function> </#list> </Functioninfo>
接下来就是FreeTestAction.java文件了
package org.blj.web.action; import java.util.ArrayList; import java.util.List; import org.blj.web.dto.FreeDto; import com.opensymphony.xwork2.ActionSupport; public class FreeTestAction extends ActionSupport { private static final long serialVersionUID = 1L; private List<FreeDto> functionlist; public String execute() throws Exception { functionlist= new ArrayList<FreeDto>(); FreeDto freedto = new FreeDto(); freedto.setId("1"); freedto.setName("a"); freedto.setFdescription("ddd"); functionlist.add(freedto); return "success"; } public List<FreeDto> getFunctionlist() { return functionlist; } public void setFunctionlist(List<FreeDto> functionlist) { this.functionlist = functionlist; } }
接下来该是FreeDto.java文件了
package org.blj.web.dto; public class FreeDto{ private String id; private String name; private String fdescription; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getFdescription() { return fdescription; } public void setFdescription(String fdescription) { this.fdescription = fdescription; } }
因为我没有连接数据库,就不说从数据库取数据了
剩下的就是struts.xml了
<action name="FreeTestAction" class="org.blj.web.action.FreeTestAction"> <result name="success" type="freemarker"> <param name="location">/WEB-INF/template/free.ftl</param> <param name="contentType">application/xml</param> </result> </action>
把这加到里面就可以了
顺便再说一句,如果去值的时候,值为空时模板是会报错的,在这里给出个判断来避免出错
<#if name??>
……
</#if>
当然也可以通过设置默认值${name!""}来避免对象为空的错误
最后说一下,我这个也是从网上学来的,可能跟网上有雷同的地方,要谅解!
相关文章推荐
- Spring依赖注入的XML配置文件的实现思想(2)——简单的实现
- 基于XML的配置文件访问接口设计和实现
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- Spring项目中对XML文件热加载代码实现
- 无论是php java后台服务器在域名的根目录添加 crossdomian.xml文件实现flash 安全策略,从而实现通讯
- 利用XML实现通用WEB报表打印(实现篇)转载
- OpenCV------- 对XML和YAML文件实现I/O操作
- 对XML和YAML文件实现I/O操作
- 比如C#里面调用AutoCAD ActiveX API实现后台打印DWG文件为PDF文件
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- winfrom 实现条形码批量打印以及将条形码信息生成PDF文件
- 6-jacob实现根据模板生成文件并打印
- 利用XML实现通用WEB报表打印(参考)
- Struts2基于XML配置文件实现权限校验
- pb 实现后台自动打印pdf 文件
- 续:利用XML实现通用WEB报表打印(实现篇)
- java写一个程序,实现从文件中读出文件内容,并将其打印在屏幕当中,并标注上行号
- 利用XMLHttpRequest技术实现断点续传下载文件
- 对XML和YAML文件实现I/O操作
- 比较全的XML系列工具 可以轻松实现排版、转换和打印!