<c:catch>不适用于<fmt:parsenumber> JSTL 1.2 </fmt:parsenumber> </c:catch>

时间:2013-02-21 15:07:08

标签: parsing exception jstl tomcat7 catch-block

我正在使用JSTL 1.2(Apache Taglibs)实现一个简单的JSP页面。该页面执行以下操作:

        <c:catch var="error">
            <fmt:parseNumber var="parsedNum" value="${param.num}" />
        </c:catch>

HTML输入元素如下所示:

    <input type="text" name="num" size="3"/>

我知道由于解析机制的工作方式,允许输入“12a”。不过,我想抓住完全错误的输入,例如“aaa”。不幸的是,抛出的异常不是由<c:catch>管理的,导致Tomcat 7显示整个堆栈跟踪。

有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:1)

请为我们发布一个可测试页面。例如,以下页面适用于我。

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<c:catch var="error">
<fmt:parseNumber var="parsedNum" value="aaa" />
</c:catch>
${parsedNum}
${error}