2016-01-25 10:25题主

Wb7在server script中使用java布尔值判断的问题

使用如下代码为什么false也是true?

2016-01-25 11:52#1
request.setAttribute('aa', false);此句把false转换为Java Boolean后再进行设置
request.getAttribute('aa')此句获取的对象为Java Boolean.FALSE值
此值为非null的对象,因此在js语法上布尔值为true(非null,undefined,0,'',NaN等都为true)
正确的代码应该为:
JavaBoolean.TRUE.equals(request.getAttribute('aa'))
  Wb.error(1);
或者更方便的使用Wb.getBool(request.getAttribute('aa'))方法进行跨java和js类型的判断
2016-01-29 13:45#2
java的Boolean是个包装类
2016-01-29 13:47#3
用javaBool.booleanValue()方法在serverscript也可以
2016-02-05 16:11#4
booleanValue方法也可以,但要注意非null,Wb.getBool可以处理null

返回开发者社区