Jsp 未捕获异常时屏幕上变量的输出值

Jsp 未捕获异常时屏幕上变量的输出值,jsp,spring-mvc,jstl,tiles,Jsp,Spring Mvc,Jstl,Tiles,在我的web应用程序中,我必须给出这行代码来检查对象是否有字段 <c:catch var="itemException">${item.masterOrderId}</c:catch> 当我试图检查页面源代码时,有趣的是我找不到字符串。所以,请让我知道我能做什么来找出诀窍,这样我就可以做些事情来避免令人讨厌的输出 谢谢。事实上,再看看你的问题: 在我的web应用程序中,我必须给出这行代码来检查对象是否有字段 如果JSP中有这一行,如果c:catch标记没有得到异常,它将

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

<c:catch var="itemException">${item.masterOrderId}</c:catch>
当我试图检查页面源代码时,有趣的是我找不到字符串。所以,请让我知道我能做什么来找出诀窍,这样我就可以做些事情来避免令人讨厌的输出


谢谢。

事实上,再看看你的问题:

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

如果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将被输出到适当的位置。

如果不使用catch块,则会发生错误&将一个已知具有masterOrderId的项作为目标?当你说页面得到一行所有主订单id的丑陋输出时,你的意思是这个“丑陋的行”是所有主订单id的总和吗?这是forEach循环的内部,可以在同一行上输出所有数据吗?@anotherdave感谢您的快速响应。我应该提供更详细的上下文。我正在创建一个用于多个位置的表tagx,但是现在order表需要每个insertions主id的特定参数。我无法从jspx实现它,因为表的数据模型是一个列表${orders},在表tagx中有一个forEach循环来遍历行。因此,是的,所有主订单id的丑陋输出行是所有订单的所有主订单id的串联。但是那一行显示在表外,就像一个普通的字符串。你能编辑你的问题,为你的语句提供代码,包括forEach循环吗?在没有看到代码的情况下很难理解它的核心,因为听起来好像您在forEach循环内但在表外引用了masterId。但是,您看到的字符串不在HTML源代码中这一事实非常奇怪!
<c:catch var="itemException">${item.masterOrderId}</c:catch>
<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>