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 が使用される時点で 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 に答える