jfinal中使用freemarker怎么传值给select啊

开源中国撞死人 发布于 2014/11/28 09:42
阅读 1K+
收藏 0

@JFinal 你好,想跟你请教个问题:不好意思.詹大哥问你个简单的问题.用Jfinal传值给freemarker中的select控件怎么传递让他选中指定的选项啊

加载中
0
JFinal
JFinal

    freemarker 没有 select 控件,推荐用纯 html 展示,大致代码如下:

<select name="aName">
<#list obj as x>
  <#if x.value == aValue >
    <option value="${x.value}" selected="selected">${x.title}</option>
  <#else>
    <option value="${x.value}">${x.title}</option>
  </#if>
</#list>
   注意上例的 if 判断,当迭代的值为选中值时,让 option 中添加个属性 selected="selected" 即可打完收工。

   本质上来说只要你会用 freemarker 以及纯 html 表单 select,即可灵活运用并展现出你想要的页面值。

   当然,如果你想走得更远,可以将常用的这些展示的功能封装来,一般建议两种方式:

1:使用 freemarker 的宏,封装完成后使用宏名再传几个参数即可,使用时大致是这样:<@mySelectMacro data=dataList selectValue=aValue />

2:用java 写工具类,如 HtmlKit,然后 FreeMarkerRender.getConfiguration().setSharedVariable("htmlKit", new HtmlKit()); 在界面上使用的时候大致是这样: ${htmlKit.buildSelect(dataList, selectValue)}

返回顶部
顶部