Передача параметров через URL - PullRequest
0 голосов
/ 25 октября 2010

Я написал сервлет, который запрашивает у базы данных список сообщений, вывод направляется в сгенерированный сервлетом html.У пользователя есть возможность выбрать просмотр выбранного сообщения, нажав кнопку

ResultSet rs = null;
try
{
    startPage(response);
        rs = statement.executeQuery(sql);
        while(rs.next())
        {
            out.println("<tr>");
            out.println("<td align=center>"+rs.getString("Heading")+"</td>");
            out.println("");
            out.println("<td align=center>"+rs.getString("Username")+"</td>");
            out.println("");
            out.println("<td align=center>"+rs.getString("DatePosted")+"</td>");
            out.println("");
            out.println("<td align=center><form action=dbShowMessage?action='"+rs.getString("Heading")+"'method=post><input value=VIEW type=submit></form></td>");
            out.println("</tr>");
        }

    endPage(response);
}

. Код компилируется без ошибок, но когда я вызываю его с помощью веб-сервера, HTML-страница отображается без таблицы, содержащейрезультаты или кнопки, но как только я удаляю, отображается все;что я делаю здесь не так.

В качестве альтернативы я попытался сделать это с помощью URL-адреса следующим образом:

out.println("<tr>");
out.println("<td align=center><a href=dbShowMessage?title="+rs.getString("Heading")+">"+rs.getString("Heading")+"</a></td>");
out.println("");
out.println("<td align=center>"+rs.getString("Username")+"</td>");
out.println("");
out.println("<td align=center>"+rs.getString("DatePosted")+"</td>");
out.println("");
out.println("</tr>");

Опять-таки, все получилось;ссылки и таблица отображаются после вызова, но как только я создаю ссылку на ту же историю.

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Не уверен, решит ли это вашу проблему, но вы можете поставить пробел перед атрибутом method, то есть изменить

...Heading")+"'method=post...

на

...Heading")+"' method=post...

Кроме тогоэто, какие символы на самом деле включает ваш заголовок?Никаких цитат, я полагаю ...

0 голосов
/ 25 октября 2010

У вас неверный HTML ...

Используйте эту строку:

out.println("<td align=center><form action=\"dbShowMessage?action='"+rs.getString("Heading")+"'\" method=\"post\"><input value=\"VIEW\" type=\"submit\"></form></td>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...