JSP ページで例外を処理する良い方法を探しています。したがって、次のようなBeanゲッターにアクセスするJSPページがあります。
<c:when test="${exampleBean.metric.outOfDate}">
<div class="OutOfDate">Out of Date</div>
</c:when>
... and so on
そのため、exampleBean.metric にアクセスすると、metricBean の getMetric メソッドにアクセスすると認識されます。ただし、このメトリックは存在しない可能性があるため、そこからエラーをスローします
public Metric getMetric() throws Exception1, Exception2{
// the names of the Exceptions are just dummies here
try {
// to do some invalid stufff
} catch (Exception1 ex) {
throw ex;
} catch (Exception2 ex) {
throw ex;
}
}
そのため、1 つのページに対してこの Bean ゲッター メソッドを複数回呼び出すと、いくつか失敗することがあります。ユーザーに表示するために JSP でスローされたエラーを知りたいです。
web.xml ファイルにカスタム エラー ページを作成して、すべてのスローを 1 つのエラー ページに送信する方法は知っていますが、ページのごく一部が原因でエラーが発生する可能性があるため、それは望ましくありません。エラーが発生しましたが、ページの残りの部分を引き続き表示したい
これを間違った方法で処理していますか? つまり、エラー チェックは、サーブレットまたは他の場所で何らかの方法で行う必要がありますか? もしそうなら、どうすれば自分の Bean メソッドをチェックできますか? リンクをいただければ幸いです
JSTL メソッドを使用しても役に立ちませんでした。つまり、次のようなキャッチでカプセル化しようとしました。
<c:catch var="exception">
<c:when test="${exampleBean.metric.outOfDate}">
<div class="OutOfDate">Out of Date!</div>
</c:when>
</c:catch>
<c:if test="${exception!=null}">
<%-- give a user message saying something was wrong, but this didn't give an exception even when it was called from my bean--%>
</c:if>