前台freemarker处理后台传递过来的map数据问题
先看几行代码
[#assign countConditions="{params:{courseId:${(params.courseId)!}}}"/] [#assign result = stack.findValue(getLearnData("learnCourseItem","queryItemCountAndCourseConfig","${countConditions}")) /] [#assign componentResult = stack.findValue(getLearnData("learnCourseItem","getCourseComponentsConfig","${countConditions}")) /] [#assign menus = (componentResult.data.menus)![] /] [#list menus as menu] [#if (menu.status)?? && (menu.status == 1) && (menu.code)??] [#if (menu.code == "homework")] [#if (result.data.get(menu.id)) ?? && ((result.data.get(menu.id))?number> 0)] <li class="nav_li" id="homework_main_menu"> <a id="homework_menu_button" href="${base}/learn/homework/blue/index.action? params.courseId=${(params.courseId)!}¶ms.columnTypeId=${(menu.id)!}" target="mainContent">${(menu.name)!"全部作业"}</a> </li> [/#if] [/#if] [/#if] [/#list] [/#list]
好了,先来描述一下问题,result和componentResult 是调用后台方法传递过来的map数据,result中的数据的key值是componentResult.data.menus.id的值.
这里我想在if判断中取到result中的值有两种方法
result.data.get(menu.id) 这是一种
result.data[menu.id] 这是一种
然后判断大小 注意先转换格式?number
注意点是这些,如果出不来数据的话,就直接在界面上输出一下example:
${result.data.get(menu.id)}
${result}
上一篇:
IDEA上Java项目控制台中文乱码