我正在寻找一种在我的 JSP 页面中处理异常的好方法。所以我有一个 JSP 页面,我可以在其中访问我的 bean getter,例如:
<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;
}
}
所以,我为一个页面多次调用这个 bean getter 方法,有时它会失败一些,我想知道在我的 JSP 中抛出了什么错误以将其显示给用户。
我知道在我的 web.xml 文件中有一个自定义错误页面的方法,在该文件中我将所有抛出都转到一个错误页面,但我不希望这样,因为页面的一小部分可能会导致错误,我希望页面的其余部分仍然显示
我处理这种方式不正确吗?即错误检查应该以某种方式在我的servlet 或其他地方完成?如果是这样,我将如何在那里检查我的 bean 方法?任何链接将不胜感激
使用 JSTL 方法也没有帮助我,即我尝试用这样的 catch 封装这个东西:
<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>