java .lang.NumberFormatException: null - не может прочитать тип ввода - PullRequest
1 голос
/ 21 января 2020

Я пытаюсь УДАЛИТЬ некоторые данные из SQL при нажатии кнопки. Тем не менее, я продолжаю получать сообщение об ошибке java .lang.NumberFormatException: null при нажатии кнопки. Это сбивает меня с толку, потому что я могу отобразить идентификатор в моем jsp .file, так что я знаю, что значение выбрано и отображается.

Вот мой jsp файл:

if (request.getParameter("delete") != null){
 long betID = Long.parseLong(request.getParameter("id"));
 System.out.print(betID);
}

<form action="newBet.jsp" method="get">
    <fieldset>
        <input class="btn btn-default" type="submit" name="w" value="Vundet"/> 
        <input class="btn btn-default" type="submit" name="L" value="Tabt" /> 
        <input type="submit" name="id" value="<%=bet.getId()%>"/>
    </fieldset>
</form>

Это успешно показывает значение bet.getId () в моем jsp файле. Я буду c менять тип на "скрытый", когда я закончу. Проблема в том, что когда я нажимаю кнопку «удалить», это не готово мое значение.

Вот мой Java:

public static void removeBet(long betID) throws SQLException {

 Connection connection = null;   

    try { 

        DB_Connection connect = new DB_Connection();
        connection=connect.get_Connection();

        String sql = "DELETE FROM bets WHERE id = ?";
        PreparedStatement ps = connection.prepareStatement(sql);

        ps.setLong(1, betID);
        ps.executeUpdate();

      }catch (SQLException e) {
        e.printStackTrace();
    } finally {
        connection.close();
    }

Значение моего betID установлено в любом месте в моем коде. Я надеюсь, что некоторые из вас смогут мне помочь. Я проверил подобные вопросы, но, к сожалению, я не смог решить проблемы. Спасибо.

1 Ответ

1 голос
/ 28 января 2020

Я добавляю ответ только для того, чтобы поставить в строку все комментарии.

В качестве параметра запроса будет передано только значение фактического нажатия на кнопку отправки. Вот почему, когда вы нажимаете на отправку name = "delete", вы видите значение на странице html, созданной из jsp, но не в запросе.

Я бы даже посоветовал вам taglib (es . JSTL) вместо написания java кода в JSP.

Например, представив, что у вас есть запрос или параметр страницы с именем "bet", охватывающий bean-компонент,

<form action="newBet.jsp" method="get">
    <fieldset>
        <input class="btn btn-default" type="submit" name="w" value="Vundet"/> 
        <input class="btn btn-default" type="submit" name="L" value="Tabt" /> 
        <input type="submit" name="id" value="${bet.id}"/>
    </fieldset>
</form>

Получить журнал также для JSTL: <% @ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c"%>
https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...