HTML-форма, радио-кнопка и сервлет - PullRequest
0 голосов
/ 20 июля 2009

Я написал сервлет, который создает HTML-страницу, отображающую содержимое базы данных. Код:

Statement st = (Statement) conexion.createStatement();                     
ResultSet rs = st.executeQuery("select * from audiolist" );
while (rs.next())
   {
    contador++;
    out.println("<tr>");
    String k = rs.getString("Tittle");
    String l = rs.getString("Autor");
    String m = rs.getString("Album");
    out.println("<td>"+"<input type=\"radio\" name=\"titulo<%="+contador+"%>\"value=\""+k+"\">");
    out.println("<td>" + k + "</td>");                        
    out.println("<td>" + l + "</td>");
    out.println("<td>" + m + "</td>");       
    out.println("</tr>");
    }
    out.println("</table></center>");
    out.println("<tr><td colspan=2><input type=submit></td></tr>");
    out.println("</form>");

Я добавил переключатель в каждую строку. С помощью этого кода я могу показать в браузере таблицу с содержимым базы данных. Когда я нажимаю на кнопку отправить, я хочу отправить другому сервлету значение 'k' для выбранной строки. Мне тяжело с этим. Я думаю, что отправляю значение неправильно. Во втором сервлете достаточно ли использовать getParameter () для получения информации?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 июля 2009

Правильна ли эта строка?

out.println("<td>"+"<input type=\"radio\" name=\"titulo<%="+contador+"%>\"value=\""+k+"\">");
0 голосов
/ 20 июля 2009

Во втором сервлете вы можете использовать:

String value = request.getParameter("tituloX");

чтобы прочитать значение. Вам нужно знать имя параметра, чтобы сделать. Если это неизвестно, вы можете попробовать перечислить параметры:

for ( Enumeration e = request.getParameterNames(); e.hasMoreElements();) {
  String param = (String) e.nextElement();
  String value = request.getParameter(param );
}

Это работает только для параметров с одним значением.

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