2013-12-20 3 views
-2

я создал файл JSP с тремя submit кнопки указывая на один servlet, когда я пытаюсь получить значение заголовка как request parameter в servlet он бросает NullPointerException, то jsp файл здесь:Использование request.getParameter, чтобы получить подпись кнопки бросает NullPointerException

<td> 
    <input type="submit" id="user" name="user_submit" value="search" class="searchUserbutton"> 
    </td> 
<div class="searchResultFrameButtonDiv"> 
     <input type="submit" name="user_submit" id="addrole" value=">>" onClick="send_roles();" class="addDelsearchUserbutton"><br> 

     <input type="submit" name="user_submit" id="deleterole" value="<<" onClick="delete_roles();" class="addDelsearchUserbutton"> 

    </div> 

Это код, который бросает NullPointerException в мой servlet:

String caps=request.getParameter("user_submit"); 
System.out.println("the caps value is"+caps);// prints null 
+4

Если вторая строка печатает что-либо, как она может выбросить NPE? – Raffaele

+0

Почему вы вводите то же имя «user_submit» в входные элементы. Когда вы отправляете форму, данные формы отправляются как пары имя-значение, а на сервере вы получаете значение с использованием имени. –

+0

Используйте некоторые инструменты отладки HTTP (например, firebug для firefox) и проверьте свой HTTP-запрос, был ли параметр отправлен. – Kojotak

ответ

0

вы пытаетесь получить от кнопки отправки, используйте request.getParameter() для извлечения из текстовых полей, как <input type="text">

Также существует никакой формы так не кнопка отправки не будет работать

+0

есть onClick javascript call – Kojotak

+0

И что на самом деле делает этот вызов javascript? Вы пренебрегли его публикацией. Опубликуйте ВСЕ соответствующий код, а не только его маленький фрагмент. – Gimby

+0

@Gimby Является ли вышеупомянутый комментарий для меня? – SpringLearner

0

Не дают такое же имя для нескольких input элементов, потому что в методе request.getParameter() он будет выбирать параметр по имени, поэтому он будет делать неоднозначность.

Изменить код так:

<td> 
    <input type="submit" id="user" name="user_submit" value="search" class="searchUserbutton"> 
    </td> 
<div class="searchResultFrameButtonDiv"> 
     <input type="submit" name="user_submit_add" id="addrole" value=">>" onClick="send_roles();" class="addDelsearchUserbutton"><br> 

     <input type="submit" name="user_submit_delete" id="deleterole" value="<<" onClick="delete_roles();" class="addDelsearchUserbutton"> 

    </div> 

И в JSP странице вы можете получить значения параметров, используя имя соответствующего параметра.