首页 > 其他分享 >freemarker模板数据解析1--页面语法直接获取

freemarker模板数据解析1--页面语法直接获取

时间:2023-12-15 18:34:53浏览次数:27  
标签:Map hashMap freemarker map -- a1 a2 put 模板

freemarker模板数据解析1--页面语法直接获取

​ 对后端接口传递过来的Map<String,List>类型数据的展示。

对于普通Map<String,String>数据,我们很清楚,直接上代码:

·接口提供数据:

Map<String,String> map = new HashMap<>();
map.put("k1","v1");
map.put("k2","v2");
map.put("k3","v3");
request.setAttribute("map",map);//返回页面

·页面代码:

<#if map??>
    <#if map?size=0>
        没有数据
    <#else>
        <#list map?keys as m>
            ${m}=${map[m]}<br>
        </#list>
    </#if>
</#if>

·效果:

image-20231215174229050

图片可能加载不出来,大概是这个效果:(hashMap有无序性)
k3=v3
k1=v1
k2=v2

对于多层嵌套Map<String,List<Map<String,String>>>的来说,如下:

·接口数据:

List<Map> mapList = new ArrayList<>();
Map map1 = new HashMap<>();
map1.put("a1","1");
map1.put("a2","11");
mapList.add(map1);
Map map2 = new HashMap<>();
map2.put("a1","2");
map2.put("a2","22");
mapList.add(map2);
Map map3 = new HashMap<>();
map3.put("a1","3");
map3.put("a2","33");
mapList.add(map3);
HashMap<String,List<Map>> hashMap = new HashMap();
hashMap.put("example",mapList);
request.setAttribute("hashMap",hashMap);//hashMap:{example=[{a1=1, a2=11}, {a1=2, a2=22}, {a1=3, a2=33}]}

·页面代码:

<#if hashMap??>
    <#if hashMap?size=0>
        没有数据
    <#else>
        <#list hashMap?keys as ml>
            <#assign item = hashMap[ml]>
            <#list item as map>
                ${map.a1!}-${map.a2}<br/>
            </#list>
        </#list>
    </#if>
</#if>

·效果:

image-20231215180553214

图片可能加载不出来,大概是这个效果:(hashMap有无序性)
1-11
2-22
3-33
嵌套太多层脑子着实不够用,多写点注释帮助记忆。

标签:Map,hashMap,freemarker,map,--,a1,a2,put,模板
From: https://www.cnblogs.com/hngz/p/17903986.html

相关文章

  • ..
    HBuilder下载  https://hx.dcloud.net.cn/Tutorial/HistoryVersionuniapp    https://uniapp.dcloud.net.cn/注册小程序账号  https://mp.weixin.qq.com/wxamp/wxaalarm微信开发者工具下载   https://developers.weixin.qq.com/miniprogram/dev/devtools/stabl......
  • 【转载】liuhangshin NOIp2023假赛记
    day-?CSP2023,我用eps秒就拿到了395pts,少的5pts是不想让自己太骄傲。day0去⑧中试机,由于机房的Vscode不好用,我现场写了114个插件安装上去,现在勉强能够做到编译代码的时间比我写10k代码的时间短。旁边cool_milo一直在问我的ip是多少,怎么有人这么菜啊!NOIp这种级别的比赛还需要......
  • gitlab之五中角色
    GitLab用户权限管理:GitLab用户在组中有五种权限:Guest、Reporter、Developer、Master、Owner1.Guest:可以创建issue、发表评论、不能读写版本库2.Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限3.Developer:可以克隆代码、开发、提交、push、RD可以赋予这个权限......
  • Tomcat servelet javax 和 jakarta
    *[GitHub-apache/tomcat-jakartaee-migration:ApacheTomcatmigrationtoolforJakartaEE](https://github.com/apache/tomcat-jakartaee-migration)*[未来可期!但别再傻傻分不清javax和jakarta](https://baijiahao.baidu.com/s?id=1758965939027753195)*[[Solved]The......
  • Linux下自动生成c++工程的UML类图
    在Qtcreator上面折腾了一两天,也没能生成出UML类图。下面是在Linux通过两个工具Graphviz+Doxygen生成类图的过程。安装软件:sudoaptinstallgraphvizdoxygen进入项目文件目录,首先生成配置文件:doxygen-gDoxygen.config然后编辑该配置文件,修改几个选项:EXTRACT_AL......
  • 实验七
    task41#include<stdio.h>2intmain(){3FILE*fp;4longcount=0;5chart;6if((fp=fopen("data4.txt","r"))==NULL){7printf("error\n");8return1;9}10while(!f......
  • python flask 生产环境部署,基于gunicorn
    1.安装gunicorn,部分生产服务器会存在多个pip版本,一般用pip和pip3区分,本文中用pippipinstallgunicorn2.启动程序cd/usr/appgunicorn--workers2-b0.0.0.0:5056app:app 验证项目正常后继续如下操作3.配置gunicorn配置文件查看centos版本cat/etc/redhat-releas......
  • 记录--代码刚上线,页面就白屏了
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言白屏一直是一个前端开发谈之变色的问题。“什么?我的页面刚上线就白屏了,是报错了,还是兼容性问题,还是性能问题,多刷新几次就好了,用户网络不行吧。”简单来说,白屏就是用户打开前端页面什么有没有。这是一个很重......
  • TI 新一代明星CPU
    说到TI(德州仪器),想必大家都不陌生,它在模拟器件领域处于世界领先水平,特别是我们熟知的DSP,更是超越了各大同行。同样,在CPU领域,TI也拥有不错的技术功底,当年凭借MSP430超低功耗,走红了全球。今天给大家分享的是TI新一代明星CPU——AM62x,它相比上一代AM335x在工艺、外设、性能等多......
  • Java Web开发阶段注解
    @Component标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器中的一个Bean通过路径扫描来自动侦测以及自动装配到Spring容器中@Controller用于指示Spring类的实例是一个控制器,相对于实现Controller接口更加简单,使用Controller注解可以同时处理多个......