freemarker是看到大家的推荐开始强制自己学习的,毕竟不能总用io来实现模板的功能啊,而且很多牛人都说这个东西好,自己也不免心动。
一段时间下来,感觉freemarker这种模板技术确实是好,而且功能很强,但是总是感觉它的“水”太深,一般的程序员在使用的时候会遇到很多困难。而且freemarker远远没有velocity的影响力大,其社区的活跃度也小了很多,这也是学习曲线相对比较高的原因。robbin曾经说半天时间就能熟练掌握他,我想这时对一个经验丰富的人员说的吧。我的学习过程绝对不是半天能熟练掌握的。也许这就是差距吧。
言归正传。准备实现一个功能,需要一个form表单,里面有一个radio来供选择注册人员的性别。对于一个web人员,这太简单了,但是我却在使用freemarker的过程中折腾了半天。传统的方法是这样的
<input type="radio" name="sex" id="sex2" value="2"/><label for="sex2">男</label>
<input type="radio" name="sex" id="sex1" value="1" checked="checked"/><label for="sex1">女</label>
如果通过freemarker来实现的话,官方的文档上是这样描述的
<@ww.radio name="sex" list="sexlist" />
sexlist是一个list,如果是<key,value>结构的话,那么list的key将作为value,而value作为radio的label,这样就能实现以上的功能。除此基础外,还需要当用户选择后,如果跳转回该页面,radio相应的选项被选中。这样的功能,应该注意以下两点:
1、在action中构造一个HashMap,将这个HashMap作为radio中的list,这样系统将自动将HashMap的key作为radio的value,而把value作为label出现,如果构造一个list的话,radio的value和label将是相同的值。
2、注意map的key是一个String类型,这一点搞的我浪费了很长的时间,当想实现radio相应的选项被选中这个功能时,如果你传过去的值是一个其他类型的值时,radio选项被选中这个功能就没办法实现了。这点太难察觉了。这时才明白robbin关于freemarker三重罪的第二点。
分享到:
相关推荐
FreeMarker中文文档.pdf FreeMarker入门必修
freemarker中文API手册
在struts2中使用freemarker模版.doc
FreeMarker(使用方法)FreeMarker(使用方法)FreeMarker(使用方法)FreeMarker(使用方法)很好的pdf书
freemarker 教程 使用手册 Freemarker 手册 用于 2.3.16
freemarker中文文档与包
赠送jar包:freemarker-2.3.30.jar; 赠送原API文档:freemarker-2.3.30-javadoc.jar; 赠送源代码:freemarker-2.3.30-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
freemarker中文手册是一本不错的全面介绍freemarker的书籍,适合freemarker初学者
freemarker常用使用文档......................................................................
Freemarker中遍历list集合实例
freemarker 中文官方文档 很是好用便于初学则
freemarker官方中文帮助文档
使用 Freemarker 模板引擎创建一个简单的 Spring 工程。
freemarker帮助文档 freemarker帮助文档 freemarker帮助文档 freemarker帮助文档
FreeMarker使用介绍 FreeMarker使用介绍
freemarker中文学习资料,内容特别详细,是网页版的API文档
freemarker 中文手册
解决办法一 解决办法二 通过模板生成文件乱码解决方法
FreeMarker使用Macro实例,很好的学习资料。
赠送jar包:freemarker-2.3.31.jar; 赠送原API文档:freemarker-2.3.31-javadoc.jar; 赠送源代码:freemarker-2.3.31-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。