具有多个运算符的JSTL条件

时间:2012-02-01 20:44:57

标签: java jsp jstl el

我正在尝试在JSTL中编写一个具有多个运算符的条件。

<c:if test="${!memberObj.provider && empty subscriptions or subscriptions eq false}"></c:if>

以上操作无法正确执行,因为需要包含“空订阅或订阅eq false”

我希望能够做到:

${!memberObj.provider && (empty subscriptions or subscriptions eq false)}

但是当我这样做时,jsp页面变得空白。我猜这意味着有些事情发生了......

如何在JSTL中的单个条件中组合“和”和“或”运算符?

提前致谢!

1 个答案:

答案 0 :(得分:3)

这看起来有效(尽管有点笨拙;有几种风格混合在一起,而且不需要布尔比较。)

浏览器在检索到无效HTML时可能会变为空白。我敢打赌,代码中有一些Java代码会在响应已经提交时引发异常。由于响应已经提交,服务器将无法完整显示错误页面(尽管它会记录异常)。浏览器最终会得到一个带有不完整HTML的半熟响应,浏览器无法以任何明智的方式解释,因此它将变为空白。