2010-10-25 3 views
0

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

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>"); 

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

+0

HTML не должен быть порождено JSP, не Servlet. – BalusC

+0

Вы просматриваете HTML-код, созданный этим кодом, чтобы узнать, является ли он действительным или недействительным, и чтобы увидеть, какой контент несет ответственность за что-то не отображаемое? –

ответ

1

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

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

в

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

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

0

У вас есть недопустимый HTML ...

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

out.println("<td align=center><form action=\"dbShowMessage?action='"+rs.getString("Heading")+"'\" method=\"post\"><input value=\"VIEW\" type=\"submit\"></form></td>"); 
+0

Спасибо за ответ, но он почему-то не работает, он печатает первую запись и останавливается там, где она должна отображать кнопку – Kushan

Смежные вопросы