解决方案 »
- Eclipse的bin目录下文件丢失
- 同事要走了,我接他得项目,但我没有经验,要注意哪些方面呢?
- ssh2最简单的例子
- ibatis oracle存储过程 传入数组
- 请问一个hibernate的query查询问题
- J2EE的程序员帮帮忙
- Struts中如何显示图片?(急急急.....100分在线等)
- 问一个在JSP里关于数据库连接的问题,简单的
- ***** shenyuqiang( shenyuqiang )进来领分吧 ***********
- 糟,web server使用sybase jconnect55 for jdbc 连接数据库时偶尔出现 cpu100%
- HIBERNATE多张表一对一共用一张表效率问题
- hibernate对象中存在set集合,配置inverse=false,为什么返回的还是代理对象
没发现问题
你加一个为空判断呢?
<#if (device.ipAddress)?exists>
<#list device.ipAddress as pojo2>
${pojo2.policyTag}
${pojo2.policyName}
</#list>
</#if>
以下是在java中调用freemaker的代码: // 要填入模本的数据文件
Map<String, Object> dataMap = new HashMap<String, Object>();
getData(dataMap);
// 设置模本装置方法和路径,FreeMarker支持多种模板装载方法。可以重servlet,classpath,数据库装载,
// 这里我们的模板是放在com.havenliu.document.template包下面
configuration.setClassForTemplateLoading(this.getClass(),
"/com/havenliu/document/template");
Template t = null;
try
{
t = configuration.getTemplate("GradeProtection.ftl");
} catch (IOException e)
{
e.printStackTrace();
}
// 输出文档路径及名称
File outFile = new File("D:/temp/outFile.doc");
Writer out = null;
try
{
out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(outFile)));
} catch (FileNotFoundException e1)
{
e1.printStackTrace();
}
try
{
t.process(dataMap, out);
} catch (TemplateException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
解决办法:
在NDeviceLite 里加一个属性private List<ComplianceStatisticsPojo> pojos;获取时这样写:<#list device.pojos as pojo2>因为在<#list devicesList as device>这循环里写<#list device.ipAddress as pojo2>是指获取device这个对象中的ipAddress属性的值并遍历,而不是获取map中以device.ipAddress作为key的那个list对象,如果要遍历map中的那个以device.ipAddress作为key的list需要在<#list devicesList as device></#list>以外写list遍历,但这样不是我想要的结果所以在NDeviceLite 加了list属性实现双层遍历!