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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java图书馆新地址_值得你关注的16个顶级 Java 开源项目!小白必看

    java图书馆新地址_值得你关注的16个顶级 Java 开源项目!小白必看1.JavaGuide把这个排第一没有个人因素影响哈!Guide哥我自己大三开始维护的,目前算是纯Java类型项目中Star数量最多的项目了。但是,本仓库的价值远远(+N次)比不上像SpringBoot、Elasticsearch等等这样非常非常非常优秀的项目。希望以后我也有能力为这些项目贡献一些有价值的代码。Github地址:https://github.com/Snailc…

    2022年7月7日
    41
  • 五个最佳FTP客户端工具「建议收藏」

    五个最佳FTP客户端工具「建议收藏」概述无论你是做网站工作,还是运行一个家庭FTP服务器,或者你只是喜欢高速下载,一个稳定且功能齐全的FTP客户端工具都可以节省你大量时间和生命,现在有大量的免费或者收费的FTP客户端软件供大家选择,这里总结了五个流行的FTP客户端软件。FileZilla(所有平台)FileZillaFileZilla是一个免费开源的适合Windows、Mac和Linux的FTP客户端软件,因为其实免费跨平台和易用性,因此它是很多FTP用户的最初选择,FileZilla下载速度非常快,功能齐全,如果你是Wind

    2022年8月30日
    0
  • glassfish安装教程_etc安装激活后怎么使用

    glassfish安装教程_etc安装激活后怎么使用前言Glassfish是一款由Sun公司开发的(现由甲骨文公司赞助)开源的免费的应用服务器,它既是EJB容器也是WEB容器。Glassfish支持最新版的JavaEE标准。Glassfish与Tomcat的区别Tomcat只是WEB容器,并不支持EJB,而Glassfish既是WEB容器也是EJB容器。Glassfish的安装首先去Glassfish的官网https://ja…

    2022年8月20日
    3
  • 1024快乐

    1024快乐1024程序员节日快乐转载于:https://www.cnblogs.com/canmeng/p/9842898.html

    2022年6月24日
    30
  • 利用HashSet给list去重[通俗易懂]

    利用HashSet给list去重[通俗易懂]如果有一个string的list要去重,那么可以用以下代码:List<String>orgIds=……..//orgIds即可能存在重复数据的String的集合//利用HashSet去重Set<String>set=newHashSet<String>(orgIds);orgIds=newArrayList<String…

    2022年5月25日
    68
  • web图书销售管理系统_解读图书管理系统为书店带来的好处

    web图书销售管理系统_解读图书管理系统为书店带来的好处图书管理系统的出现,极大地推动了大中小型书店的发展,使书店管理工作更加高效成为书店管理的重要软件。其中图书管理系统给行业的好处更是大大方便了行业的运作。一、图书管理系统在书店中的应用,主要是为了进销存的目的,为了提高书店的效率加速发展,但没有选择合适的图书管理系统往往事与愿违。图书管理制度的选择是书店经营管理工作中的重要环节。图书管理系统,尤其是进销存功能,是书店在经营过程中对采购、销售、财务等进…

    2022年6月8日
    42

发表回复

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

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