简体   繁体   English

NumberFormatException:对于输入字符串:“ xxxx”

[英]NumberFormatException: For input string: “xxxx”

I'm trying to display data on jsp page using jstl. 我正在尝试使用jstl在jsp页面上显示数据。 but i'm getting error as NumberFormatException: For input string: "expense_id" . 但我收到NumberFormatException: For input string: "expense_id"错误NumberFormatException: For input string: "expense_id"

Code

List expense = entityManager
        .getEntityManager()
        .createNativeQuery(
                "SELECT e.expense_id, format(e.expense_amount,2) as expense_amount, DATE_FORMAT(e.expense_date, \"%Y-%m-%d\") as expense_date, e.expense_desc, e.payment_method, g.expense_group_name, c.company_name, e.comment FROM wd_expense e "
                        + "join wd_expense_group g on e.expense_group_id = g.expense_group_id "
                        + "left join wd_company c on e.company_id = c.company_id")
        .getResultList();

// set to request
request.setAttribute("expenses", expense);

// redirect to expense_list.jsp
util.redirect(request, response, "/WEB-INF/expense/expense_list.jsp");

JSP Code JSP代码

<tbody>
    <c:forEach items="${requestScope.expenses}" var="expense">
        <tr>
            <td style="width: 5%;"><a
                href="expense_manage?expense_id=${expense.expense_id}"
                class="btn btn-outline btn-primary">Edit</a>
            </td>
            <td>${expense.expense_desc}</td>
            <td class="text-right">${expense.expense_amount}</td>
            <td>${expense.expense_group_name}</td>
            <td>${expense.comment}</td>
            <td style="width: 10%;">
                <button type="button"
                    onclick="ConfirmDelete('id=${expense.expense_id}','removeExpense')"
                    class="btn btn-outline btn-danger">Delete</button>
            </td>
        </tr>
    </c:forEach>
</tbody>

Error 错误

Exception :org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/expense/expense_list.jsp at line 47

44:                                         <c:forEach items="${requestScope.expenses}" var="expense">
45:                                             <tr>
46:                                                 <td style="width: 5%;"><a
47:                                                     href="expense_manage?expense_id=${expense.expense_id}"
48:                                                     class="btn btn-outline btn-primary">Edit</a>
49:                                                 </td>
50:                                                 <td>${expense.expense_desc}</td>


Stacktrace:

How can i solve this ? 我该如何解决?

You are trying to cast "expense_id" to a number. 您正在尝试将“ expense_id”转换为数字。 Since "expense_id" is a String, this cast will throw a NumberFormatException. 由于“ expense_id”是字符串,因此此强制转换将引发NumberFormatException。 The most common problem is doing (in pseudocode): 最常见的问题是在做(用伪代码):

print "expense_id";

when you actually want to print the variable value of expense_id. 当您实际要打印expense_id的变量值时。 This should instead (again pseudocode) look like: 而是(再次为伪代码)应类似于:

print expense_id; // No quotes

On line 47, try changing: 在第47行,尝试更改:

<td style="width: 5%;"><a href="expense_manage?expense_id=${expense.expense_id}">

to: 至:

<td style="width: 5%;"><a href="expense_manage?expense_id="+${expense.expense_id}>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM