【问题标题】:JSTL NumberFormatExceptionJSTL NumberFormatException
【发布时间】:2013-03-19 11:35:56
【问题描述】:

我有一个 spring+hibernate 应用程序,我在我的 DAO 层中进行本机查询。查询如下所示

select name, amount from myTable where id=:id

很明显,所选字段具有不同的数据类型(字符串、数字)。

在 JSP 中,我想在表中打印返回的结果,因此我使用 foreach loop 遍历返回集中的每条记录。

我想把负数放在大括号之间,所以我使用下面的代码

<c:forEach var="item" items="${resultSet}">
                    <tr>
                        <c:forEach var="v" items="${item}" varStatus="st">
                                    <td>
                                <c:choose>
                                    <c:when test="${v != null}">
                                        <c:choose>
                                            <c:when test="${v<0}">
                                                <c:out value="(${v})"></c:out>
                                            </c:when>
                                            <c:otherwise>
                                                <c:out value="${v}"></c:out>
                                            </c:otherwise>
                                        </c:choose>
                                    </c:when>
                                    <c:otherwise>
                                        <c:out value="-"></c:out>
                                    </c:otherwise>
                                </c:choose>
                            </td>
                        </c:forEach>
                    </tr>
                </c:forEach>

由于查询中的第一项是字符串,因此此代码会触发 NumberFormateException。

我知道这个问题的两种解决方案。第一个是将大括号放在 SQL 查询中,但我不能使用此解决方案,因为应用程序包含许多查询,并且修改所有查询将花费大量时间。

第二种解决方案是使用resultTransformer,将返回的数据转换成一个Object,但不适合同上一个原因。

有什么办法可以解决这个问题吗?

【问题讨论】:

    标签: java spring hibernate jsp jstl


    【解决方案1】:

    你试过这样吗??

     <c:when test=${v<0}>
                <c:out value="(${v})"></c:out>
                         </c:when>
                <c:otherwise>
                 <c:out value="${v}"></c:out>
    

    【讨论】:

    • 这是我所做的,请检查我问题中的代码
    • 检查第一行 ${v
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多