【问题标题】:How to compare to net.sf.json.JSONObject.NULL constant in EL expression如何与 EL 表达式中的 net.sf.json.JSONObject.NULL 常量进行比较
【发布时间】:2020-07-29 13:48:13
【问题描述】:

我正在使用net.sf.json.JSONObject。 JSON 对象中的 null 值不等同于 Java null。声明 <c:if test='${not empty obj.value}'> 不起作用。有没有办法比较JSTL标签中的JSONnull

【问题讨论】:

    标签: json jsp jstl el


    【解决方案1】:

    如果您已经使用 EL 3.0+,那么您可以按以下方式进行:

    <%@ page import="net.sf.json.JSONObject" %>
    ...
    <c:if test="${JSONObject.NULL eq obj.value}">
    

    如果您还没有使用 EL 3.0,因此无法将常量导入到上面给出的 EL 范围中,那么请使用下面给出的解决方法,它基本上检查 Class#getSimpleName()

    <c:if test="${obj.value['class'].simpleName eq 'JSONNull'}">
    

    【讨论】:

    • 我试过了,但它不起作用。但是当我使用 obj.value.class.simpleName 打印实例时,它会打印为 JSONNull
    • @Manojkumar - 我已经发布了更新。我希望它对你有用。
    • instanceof 抛出错误“无效的表达式”。我尝试使用&lt;c:if test='${obj.value .class.simpleName eq "JSONNull"}'&gt; 它有效。谢谢你的帮助!!
    • 太棒了!我已将其纳入我的答案中,以便将来对某人有用。祝你成功!
    猜你喜欢
    • 2021-02-10
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 2016-12-23
    • 2020-06-11
    相关资源
    最近更新 更多