67,513
社区成员
发帖
与我相关
我的任务
分享
public boolean freeMarkerService(FreemarkerModel type){
FreeMarkerUtils fs = new FreeMarkerUtils();
fs.init1();
Map map = new HashMap();
// Map modle = new HashMap();
PageInfo pageInfo;
try {
int num = 0;
for(int i = 0;i < type.getTable_desc().length; i++){
NameMapUtils.nameMap.put(i, "data"+i);//分配名字
pageInfo = commonPageController.pageForPageInfo1(
type.getTable_name()[i], type.getTable_key()[i], map, type.getTable_desc()[i], 7, 0);
// System.out.println(type.getTable_name()[i]+""+type.getTable_key()[i]+""+type.getTable_desc()[i]+"--------------"+i+"--------------页面list名称:"+NameMapUtils.nameMap.get(i));
// System.out.println(num+" "+NameMapUtils.nameMap.get(i)+"=="+pageInfo.getDataList());
// for(int j=0; j<pageInfo.getDataList().size();j++){
// System.out.println(j+"=j="+pageInfo.getDataList().get(j).toString());
// }
map.put(NameMapUtils.nameMap.get(i), pageInfo.getDataList());
num++;
}
map.put("mapLengths",num);
// System.out.println("============================================================================="+num);
// Set key = map.keySet();
// System.out.println("key===="+key);
// modle.put("modle", map);
// Set key1 = modle.keySet();
// System.out.println("key1===="+key1);
if(type.getName().equals(AuthName.NEWSINFO_NAME)){
// || type.getName().equals(AuthName.EXAMACT_NAME)
Template t2 = fs.getCfg().getTemplate(type.getName()+"DH.ftl");//导航页
t2.setEncoding("utf-8");
String url = AuthName.PUBLIC_FILE_PATH+type.getName()+"/"+type.getName()+"DH"+AuthName.PUBLIC_HTML;
Writer out2 = new OutputStreamWriter(new FileOutputStream(url),"utf-8");
t2.process(map, out2);
}
String x = type.getName()+AuthName.PUBLIC_FTL;
System.out.println("-----------------------------------:"+x);
Template t = fs.getCfg().getTemplate(x);//首页
t.setEncoding("utf-8");
// System.out.println(type.getWrite_file_path());
Writer out1 = new OutputStreamWriter(new FileOutputStream(type.getWrite_file_path()),"utf-8");
t.process(map, out1);
} catch (EicException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Create fail................");
return false;
} catch (TemplateException e) {
e.printStackTrace();
System.out.println("Create fail................");
return false;
} catch (Exception e){
e.printStackTrace();
System.out.println("Create fail................");
return false;
}
System.out.println("Create successfully!!");
return true;
}
.ftl
<#list 1..mapLengths as mun>
<#assign mmd = "data${mun}">
<#list [mmd] as info>
<a>${info}</a>
</#list>
</#list>
感觉这个info一直是拿assign里的值一样的,我后台得到的值
${info.F_NAME_ACTLESSON}取不出来,
0=j={F_UPDATETIME_ACTLESSON=2012-05-28, F_UPDATEUSER_ACTLESSON=superAdmin, F_ISPUBLIC_ACTLESSON=001, F_ORGID_ACTLESSON=its007, F_MEMO_ACTLESSON=基础软件测试, F_NAME_ACTLESSON=基础软件测试, F_TIMEASK_ACTLESSON=120, F_ID_ACTLESSON=2012613301, F_TRAINPAPER_ACTLESSON=null, F_OWNER_ACTLESSON=系统管理, F_DESCRIPT_ACTLESSON=oracle.sql.CLOB@4ee2dd22, F_CONTENT_ACTLESSON=oracle.sql.CLOB@79ab14cd}
模版上:
<#list mm?keys as k>
<#if k=="length">
<#assign length = mm[k]>
<#list 1..length as mun>
<#assign mmd = "data${mun}">
${mmd}
<#list mm[mmd] as ll>
${ll}
</#list>
<br>
</#list>
</#if>
</#list>
你这样 我也试过的,什么值也获取不到,就是一片空白的。我自己模板里<#list [mmd] as info>
改为<#list data1 as info> 就可以用 ${info.F_NAME_ACTLESSON} 获取到数据Map<Object, Object> map = new LinkedHashMap<Object, Object>();
List<String> list1 = new ArrayList<String>();
list1.add("a");
list1.add("b");
list1.add("c");
list1.add("d");
map.put("length", 5);
map.put("data1", list1);
map.put("data2", list1);
map.put("data3", list1);
map.put("data4", list1);
map.put("data5", list1);
model.put("mm", map);
模版上:
<#list mm?keys as k>
<#if k=="length">
<#assign length = mm[k]>
<#list 1..length as mun>
<#assign mmd = "data${mun}">
${mmd}
<#list mm[mmd] as ll>
${ll}
</#list>
<br>
</#list>
</#if>
</#list>
是这个意思吗????