jfinal使用freemarker输出map的问题。

jfinal使用freemarker,当输出map时,默认输出内容包含“ getClass、 getOrDefault、 computeIfAbsent、 values、 replace、 replaceAll、 remove、 containsValue、 put、 empty、 compute、 hashCode、 putAll、 get、 merge、 class、 keySet、 aa、 cc、 entrySet、 forEach、 containsKey、 isEmpty、 clear、 computeIfPresent、 size、 equals、 clone、 toString、 putIfAbsent、”

遇到问题的jfinal代码如下:

public void index() {
		super.setAttr("aa", "bbbbb");
		super.setAttr("bool", true);
		super.setAttr("riqi", new Date());
		super.setAttr("shuzhi",1234567890456.156448);
		super.setAttr("shuzu",new String[] {"aa","cc","cc","啊啊"});
		Map<String,String> map=new HashMap<>();
		map.put("aa","北京");
		map.put("bb","上海");
		map.put("cc","石家庄");
		super.setAttr("hmap",map);
		super.render("index.html");
	}

这个map使用的freemarker模版前端html如下:

gmindex

${aa} \ ${ccc!'空字符串'}

<br/>
${bool?c}
${bool?string('真的啊','假的')}
<br/>
${riqi?date} 、${riqi?time} 、${riqi?datetime} 、${riqi?string('yyyyMMddHHmmss')} 
<br/>
${shuzhi}  、${shuzhi?string['0.##']} 、 ${shuzhi?string.currency} 、 ${shuzhi?string.percent}
<br/>
<#list shuzu as str>
${str?index} ${str}、<br/>
</#list>
<br/>



<#list hmap?keys as key>
     ${key}、
</#list>

map部分前端输出如下:

 

修复办法如下:

1、修改index输出。

public void index() {
		super.setAttr("aa", "bbbbb");
		super.setAttr("bool", true);
		super.setAttr("riqi", new Date());
		super.setAttr("shuzhi",1234567890456.156448);
		super.setAttr("shuzu",new String[] {"aa","cc","cc","啊啊"});
		Map<String,String> map=new HashMap<>();
		map.put("aa","北京");
		map.put("bb","上海");
		map.put("cc","石家庄");
		super.setAttr("hmap",map);
		FreeMarkerRender.getConfiguration().setObjectWrapper(ObjectWrapper.DEFAULT_WRAPPER);//
		super.render("index.html");
	}

2、直接修改项目extends JFinalConfig的代码,增加如下配置。

@Override
	public void afterJFinalStart() {
		// TODO Auto-generated method stub
		super.afterJFinalStart();
		//设置freemarker模版的默认
		FreeMarkerRender.getConfiguration().setObjectWrapper(ObjectWrapper.DEFAULT_WRAPPER);
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值