为什么evaluate函数设置字符串“false”而不是布尔值false?

时间:2013-12-11 08:01:09

标签: jquery datepicker jstl

我需要一些需要设置的属性集,这些属性集将发送到我的datepicker。

对于某些未知的changeMonth&的默认值。 changeYear没有正确设置,它们返回false作为字符串。

我知道properties.changemonth是空的,所以它应该返回我设置为默认值的布尔值false。

任何人都知道它为什么不起作用?提前谢谢。

        $("#test-my-component-datepicker").datePicker({
             'dateFormat': "${not empty properties.dateformat ? properties.dateformat : 'dd/mm/yy'}",
             'showOn': "${not empty properties.showcalendar && properties.showcalendar ? 'button' : ''}",
             'buttonImage': "${not empty properties.showcalendar && properties.showcalendar ? properties.imagecalendar : ''}",
             'buttonImageOnly': "${not empty properties.showcalendar && properties.showcalendar ? properties.showbuttononly : ''}",
             'changeMonth': "${not empty properties.changemonth ? properties.changemonth : false}",
             'changeYear': "${not empty properties.changeyear ? properties.changeyear : false}",
             'showButtonPanel': false,                 
             'showOtherMonths': true,
             'selectOtherMonths': true
    });

1 个答案:

答案 0 :(得分:1)

  • empty 是一个字符串运算符(或者至少是具有.isEmpty()方法的对象的运算符)
  • 引用expresison的结果,所以它是什么 - 它通过toString()转换为字符串

空:空运算符是一个前缀操作,可用于确定值是空还是空。

"${not empty properties.changemonth ? properties.changemonth : false}"
"${not empty String ? String : boolean}"
"${String}"  or  "${boolean}"
"String"  or  "boolean"
String  or  Boolean.valueOf(boolean).toString()