значения формы, не представленные сервлету - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь отправить значение текстового поля и распечатать его с помощью сервлета. Index.jsp - это моя главная страница, и я использую jsp: include для включения формы, находящейся на другой странице, которая называется login.html.

вот код, который у меня есть для login.html

<form id="f1" action="ControllerServlet" method="GET">
<p>username
<input class ="text-input" type="text" id="txtusername" />
</p>
<p>
<input type="submit" value="submit" />
</p>

index.jsp

<div id="col3_content" class="clearfix">

        <h1>H1 Heading</h1>
        <jsp:include page="login.html"></jsp:include>
      </div>

Контроллер сервлета

String usrname = request.getParameter("txtusername").toString();

        out.print(usrname);

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

Ответы [ 4 ]

4 голосов
/ 16 января 2012

Пожалуйста, используйте имя не id

<input class ="text-input" type="text" name="txtusername" />
1 голос
/ 16 января 2012

Вам нужно определить атрибут name входного тега, чтобы получить его в сервлете по имени.

<input class ="text-input" type="text" id="txtusername" name="txtusername" />

Также убедитесь, что вы пишете код в doGet или методе обслуживания сервлета, поскольку у вас есть GET какдействие в теге формы.

1 голос
/ 16 января 2012

id не используется для идентификации имени входного параметра. Правильный атрибут для параметра - name, в настоящее время вы используете input без имени. Так что используйте

<input class ="text-input" type="text" name="txtusername" id="txtusername" />
0 голосов
/ 16 января 2012
Code for Login.html

<form action="ControllerServlet" method="GET"> 
<p>username :
<input type ="text" name="txtusername" /></p> 
<p><input type="submit" value="submit" /> </p> 
</form>

ControllerServlet.java

public void service(ServletRequest request, ServletResponse response)
{
String username = request.getParameter("txtusername");
PrintWriter out = response.getWriter();
out.println("User Name " + username)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...