JFinal用freemarker取值Map后,判断值是否等于aaa

用freemarker取出map值后,判断该值是否等于某一字符串,可以使用内建函数?string来进行判断。

实际代码:Data 是一个Record对象【JFinal的,其实可以理解为一个Map】。Data.get(key)根据map的key取出value对应的值。

<ConditionData>
  <#list datas as Data>
   <Condition>
    <#list Data.getColumnNames() as key> 
     <${key}>
      <#if Data.get(key)?exists><#if Data.get(key)?string !="null">${Data.get(key)}</#if></#if>
     </${key}> 
    </#list>
   </Condition>
  </#list>
 </ConditionData>

内建函数?string其他参考:http://www.blogjava.net/libin2722/articles/229263.html。片段如下

插入字符串值:直接输出表达式结果

插入数字值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;可以使用内建函数string格式化单个Interpolation,下面是一个例子:

<#setting number_format="currency"/>
<#assign answer=42/>
${answer}
${answer?string}  <#-- the same as ${answer} -->
${answer?string.number}
${answer?string.currency}
${answer?string.percent}

输出结果是:

$42.00
$42.00
42
$42.00
4,200%

插入日期值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;可以使用内建函数string格式化单个Interpolation,下面是一个使用格式模式的例子:

${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")}
${lastUpdated?string("EEE, MMM d, ‘‘yy")}
${lastUpdated?string("EEEE, MMMM dd, yyyy, hh:mm:ss a ‘(‘zzz‘)‘")}

输出的结果类似下面的格式:

2003-04-08 21:24:44 Pacific Daylight Time
Tue, Apr 8, ‘03
Tuesday, April 08, 2003, 09:24:44 PM (PDT)
时间: 2024-12-12 22:44:39

JFinal用freemarker取值Map后,判断值是否等于aaa的相关文章

Winform给TextBox设置默认值(获取焦点后默认值消失)

主要是通过TextBox的获取焦点Enter和失去焦点Leave两个事件来实现的, 思路如下: 1.设置一个字符串常量,作为TextBox的默认值: 2.在界面的构造方法中将默认值赋值给TextBox,并设置TextBox的ForeColor为灰色: 3.编写获取焦点事件 TextBox_Enter(object sender, EventArgs e) ,判断TextBox的Text是否等于默认值, 是:则将TextBox内容清空,并将前景色ForeColor改成正常的颜色 4.失去焦点事件

freemarker取不到值的原因。

由于有个项目是使用freemarker开发的,这里总结下使用freemarker过程中导致取不到值的一些原因,也是自己有时候经常犯的一些错误,供大家借鉴! freemarker取不到值原因: (1)后台没有传值过来! 可以现在后台打印下看看是否后台已经有值了. (2)页面先加载了! 这个问题初学者可能经常会犯,自己一开始也是经常犯这种错误,必须是后台先带回数据,再把数据放到使用freemarker中加载才会生效,如果一开始页面就已经存在freemarker代码,是无法获取到数据的. (3)路径错

【python】判断值是否在list和set的对比以及set的实现原理

判断值是否在set集合中的速度明显要比list快的多, 因为查找set用到了hash,时间在O(1)级别. 假设listA有100w个元素,setA=set(listA)即setA为listA转换之后的集合. 以下做个简单的对比: 1 for i in xrange(0, 5000000): 2 if i in listA: 3 pass 4 for i in xrange(0, 5000000): 5 if i in setA: 6 pass 第一个循环用了16min,第二个循环用了52s.

js中全局变量修改后的值不生效【jsp页面中各个js中内容的加载顺序】

一个老项目中,一个jsp文件中有很多个js文件, 现在要在页面上的一个地方判断一个状态,因为一直找不到原来是在哪里修改的那个状态,所以决定不找了,而是在比较靠前引入的一个js中定义一个全局变量,然后在这个js的 $(function(){}} 方法中通过一个ajax向后台获取正确的状态,然后在所有的js都加载完之后根据全局变量的值的状态来修改页面上的逻辑. 但是发现,全局变量被一个外部js修改赋值后,我在jsp页面的最下面居然取不到修改过的值. 请教同事才发现原来原因是 任何一个js文件中的 $

Jquery操作select,左右移动,双击移动 取到所有option的值

$(function () { function MoveItem(fromId, toId) { $("#" + fromId + " option:selected").each(function () { $(this).appendTo($("#" + toId + ":not(:has(option[value=" + $(this).val() + "]))")); }); $("#&

空值的传递后判断为空的问题.

当前台将一个null空值传输到后台,将会变成一个String的"null",而后台通过接口传入到另一个系统后台后将会在进行一次封装(传输的值都未经处理),另一个系统要判断传过来是否为空:StringUtils.isEmpty(值)和StringUtils.isNotEmpty(值)进行比较返回都为false,然后通过测试发现必须要用equals比较才能正确的返回true. 本人进过的测试: System.err.println("customerIdStr:" +

dojo-获取下拉框的值和文本

1.问题背景 这里有一个下拉框,其中选项为一年四季,选中后打印下拉框的值和文本 2.实现源码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>dojo-获取下拉框的值和文本</title> <link rel="stylesheet" href="js/dojo/dijit/themes/claro/cl

Map获取键值,Map的几种遍历方法

Map 类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个 getKey()方法和一个getValue()方法,Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值. 法一: Map<String, String> map = new HashMap(); for (Map.Entry entry : map.entrySet()) { Object key = entr

map 后 PE 蓝屏原因专题讨论(e820cycles参数)

map 后 PE 蓝屏原因专题讨论(e820cycles参数)http://bbs.znpc.net/thread-6182-1-5.html不点发表于 2011-12-8 11:42:31 大家知道,蓝屏的 workaround 解决方法是用 map --e820cycles=0 .但这并未根本解决问题. 本帖希望通过大量的用户测试和使用经验,探讨蓝屏的真正技术原因,以及可能的解决办法. 有以下问题需要澄清: 1.何时开始蓝屏的?就是说,什么时候出厂的机器,开始蓝屏?目的是确定旧电脑有无蓝屏现