0

在我的 Web 应用程序中,我必须给出这一行来检查对象是否具有字段

<c:catch var="itemException">${item.masterOrderId}</c:catch>

但是,似乎当抛出异常时,页面按预期工作,但是当货币项目有一个字段时masterOrderId,页面会得到一行所有主订单 ID 的丑陋输出,像这样

      7876288237088001859330060608701482416601260870751365393358087099973546544808785323837468560876664746049371087079881351783808767780494694690870295666366152083001

当我尝试检查页面源时,有趣的是我找不到字符串。所以请让我知道我能做些什么来找出诀窍,这样我就可以做一些事情来避免讨厌的输出。

谢谢你。

4

1 回答 1

0

实际上,只需再次查看您的问题:

在我的 Web 应用程序中,我必须给出这一行来检查对象是否具有字段

<c:catch var="itemException">${item.masterOrderId}</c:catch>

如果您在 JSP 中将此作为一行,并且 c:catch 标记没有出现异常,则它正在执行 EL 标记并将 ID 打印到页面。相反,您应该在将要使用它的位置捕获 ID。例如:

<table>
<c:forEach var="${item}" items="${items}">
    <c:catch var="itemException">
        <tr>
            <td>${item.a}</td>
            <td>${item.b}</td>
            <td>${item.masterOrderId}</td>
        </tr>
    </c:catch>
</c:forEach>
</table>

这样,如果出现异常,该行就会被抑制,如果没有,则 ID 会在适当的位置输出。

于 2012-07-06T14:21:42.197 回答