freemarker 的ObjectWrapper Settings

freemarker 的ObjectWrapper Settings

关于 struts2 和freemarker合作来处理 map 类型的情况:


struts2 官方如下说:

Once you get familiar with FreeMarker, you will find certain subtletieswith it that may become frustrating. The most common thing you’ll likely run in to is the BeansWrapper provided by FreeMarker. If you don’t know what this is, don’t worry. However, if you do, know this:

The StrutsBeanWrapper extends the default FreeMarker BeansWrapper and provides almost no change in functionality, except for how it handles maps. Normally, FreeMarker has two modes of operation: either support for friendly map built-ins (?keys, ?values, etc) but only support for String keys; OR no special built-in support (ie: ?keys returns the methods on the map instead of the keys) but support for String and non-String keys alike. Struts provides an alternative implementation that gives us the best of both worlds.

It is possible that this special behavior may be confusing or can cause problems. Therefore, you can set the struts.freemarker.wrapper.altMap property in struts.properties to false, allowing the normal BeansWrapper logic to take place instead.

这里大致的意思就是,freemarker关于map的处理方式有两种,都是 使用freemarker内建的map?keys

我以前只是使用map?keys返回 这个map当中所有的key的列表,

struts提供了<constant name=”struts.freemarker.wrapper.altMap” value=”false”/> 参数供我们设置:

当值为true的时候,map?keys返回 map中key的列表 不(这时候map的key只能是String类型的)。当值设置为fase的时候,map?keys返回的是map这个类的所有方法和内容,例如map?keys?size返回22,因为map有22个方法。也可以使用

此时(map的key可以是string或者不是string类型的)

转载于:https://my.oschina.net/mam/blog/206141

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109897.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • plc-300c语言编程,PLC初学者必备:7个PLC经典编程[通俗易懂]

    plc-300c语言编程,PLC初学者必备:7个PLC经典编程[通俗易懂]1、自锁(启保停)自锁需要并联一个线圈输出的常开触点,当启动后,并联的常开触点起到维持输出继续闭合的作用,就是自锁。我们最常用的启保停程序就是自锁。2、连锁和互锁(正反转)连锁就是用两个或多个信号控制一个输出,其实就是触点串联程序。互锁其实是连锁的扩展,利用一个程序行的输出信号作为其他程序行的连锁触点,相互之间进行运行控制,就是互锁。当两个或多个输出之间存在不能同时运行的情况时,就需要用到互锁,比…

    2025年9月23日
    5
  • pycharm社区版激活码【在线注册码/序列号/破解码】

    pycharm社区版激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    48
  • 计算机基础

    计算机基础

    2021年5月20日
    125
  • oracle隐式转换_oracle查看游标数量

    oracle隐式转换_oracle查看游标数量原文地址:http://blog.itpub.net/29324876/viewspace-1096741/1     Oracle 隐式转换Oracle中对不同类型的处理具有显式类型转换(Explicit)和隐式类型转换(Implicit)两种方式,对于显式类型转换,我们是可控的,但是对于隐式类型转换,当然不建议使用,因为很难控制,有不少缺点,但是我们很难避免

    2022年10月11日
    3
  • RGB颜色值转十六进制颜色值

    RGB颜色值转十六进制颜色值

    2021年8月31日
    65
  • 苹果系统自带的计算机怎么恢复出厂设置,苹果Macbook电脑怎么恢复出厂设置【图文】…

    苹果系统自带的计算机怎么恢复出厂设置,苹果Macbook电脑怎么恢复出厂设置【图文】…苹果电脑预装Mac系统,简洁又安全,不过使用时间长了,难免会碰到一些问题,导致系统运行速度变得卡顿。恢复出厂设置是一个不错的办法,之前windows系统恢复出厂设置比较简单,但苹果Macbook电脑怎么恢复出厂设置?Mac系统提供恢复出厂系统的功能,主要分为离线和在线两种方法,感兴趣的一起来学习。苹果Macbook恢复出厂设置删除数据的方法:提醒:恢复出厂设置前请做好数据备份,以免对您造成损失。1…

    2022年6月17日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号