Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> радиокнопка в JSP, передача данных 
:(
    Опции темы
Smolet
Дата 12.12.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 20.4.2007

Репутация: нет
Всего: нет



добрый день.
в процессе изучения jsp столкнулся с такой проблемкой:
есть страница, которая получает определенные данные из БД, дальше пользователь при помощи радиокнопки выбирает нужный ему вариант и по идее должен передать эти данные на следующую страницу....

так вот если я делаю <%@include file="ххх.jsp"%> то работает, если пытаюсь передать на другую страницу то нет.
вопрос - возможно ли такое и если да, то как?

это страница с радиокнопкой 

Код

<form  method = "post" name="guest">
 <table>
     <thead>
         <tr>
             <th style="width: 100px;">Data</th>
             <th style="width: 100px;">Billetes</th>
         </tr>
     </thead>
     <tbody>

     <%
     List comprobacionList = comprobacionData.getComprobacionList();
     Iterator comprobacionListIterator = comprobacionList.iterator();
     ComprobacionBean comprobacion;

     while (comprobacionListIterator.hasNext()) {
         comprobacion = (ComprobacionBean) comprobacionListIterator.next();
 %>

     <tr>
         <td><%= comprobacion.getDataIda()%></td>
         <td><%= comprobacion.getBilletesIda()%></td>
         <td><input type = "radio" name = "dataIda" value =<%= comprobacion.getDataIda()%> <%=comprobacionBean.getDataIda()%>></td>
     </tr>

 <%
      }
 %>
     </tbody>
 </table>


 <br/>
      <INPUT TYPE="submit" VALUE="Enviar">

 </form>

 <form action="index.jsp"><INPUT TYPE="submit" VALUE="Volver"></form>

 <%@include file="showForm.jsp"%>


эта, куда я пытаюсь передать данные с радио

Код

<html>
  <body>
   <form method="post" action="datos.jsp">
     <table>
         <tr>
             <td>Data ida</td>
             <td><input type="text" name="dataIda" value=<%=comprobacionBean.getDataIda()%> ></input></td>
          </tr>
      </table>
  </form>

  </body>
</html>


я выложил основные куски, если еще что то нужно - говорите...
заранее спасибо


PM MAIL   Вверх
stup
Дата 12.12.2007, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.4.2007

Репутация: 1
Всего: 1



Ничего не понял  smile 
Вы работаете без фреймворков(Spring, struts, seam), только с джсп? Если да, то в коде "принимающей" страницы я не увидел никаких манипуляций с запросом, из которого вы по идее должны вытащить данные.
PM MAIL   Вверх
Smolet
Дата 12.12.2007, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 20.4.2007

Репутация: нет
Всего: нет



да пока пробую без фреймворков
как не странно, но у меня все работает )))
давайте еще раз...страница - отрправитель

Код

<html>

<jsp:useBean id="comprobacionBean" scope = "page" class = "com.guest.ComprobacionBean"/>

<form  method = "post" name="guest">
 <table>
     <thead>
         <tr>
             <th style="width: 100px;">Data ida</th>
             <th style="width: 100px;">Billetes ida</th>
         </tr>
     </thead>
     <tbody>

<!-------------------------------------------------------------------------------->
// вот здесь я беру данные из предыдущей страницы

     <%
     List comprobacionList = comprobacionData.getComprobacionList();
     Iterator comprobacionListIterator = comprobacionList.iterator();
     ComprobacionBean comprobacion;

     while (comprobacionListIterator.hasNext()) {
         comprobacion = (ComprobacionBean) comprobacionListIterator.next();
 %>

     <tr>
         <td><%= comprobacion.getDataIda()%></td>
         <td><%= comprobacion.getBilletesIda()%></td>
<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
// а вот здесь уже передаю на новую
         <td><input type = "radio" name = "dataIda" value =<%= comprobacion.getDataIda()%> <%=comprobacionBean.getDataIda()%>></td>
<!-------------------------------------------------------------------------------->
     </tr>

 <%
      }
 %>
     </tbody>
 <br/>

      <INPUT TYPE="submit" VALUE="Enviar">

 </form>

 <form action="index.jsp"><INPUT TYPE="submit" VALUE="Volver"></form>

 <%@include file="showForm.jsp"%>

 </table>
</html>


страница-получатель showForm.jsp, поскольку она включена (в данной ситуации) в страницу отправитель, я не прописываю jsp:useBean, иначе даст ошибку о дублировании

Код

<html>
  <body>
   <form method="post" action="datos.jsp">
     <table>
         <tr>
             <td>Data ida</td>
             <td><input type="text" name="dataIda" value=<%=comprobacionBean.getDataIda()%> ></input></td>
          </tr>
      </table>
  </form>

  </body>
</html>


comprobacionBean - обычный гет-сет
Код

package com.guest;

public class ComprobacionBean {

    private String dataIda;


    public void setDataIda(String name)
    {
       dataIda = name;
    }

    public String getDataIda()
    {
        return dataIda;
    }






я не могу сделать тоже самое без  <%@include file="showForm.jsp"%>....просто не получается никак...поэтому я выкладываю рабочий вариант с include file.
вроде бы все объяснил

PM MAIL   Вверх
stup
Дата 12.12.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.4.2007

Репутация: 1
Всего: 1



Я Вас, кажется, понял. На самом деле в вашем случае мы рассматриваем только одну страницу. Никакой передачи данных по http не происходит. Директива include file просто включает содержимое файла во внешний файл. Т.е. в вашем случае comprobacionBean.getDataIda() на showForm.jsp и comprobacion.getDataIda() на основной странице всего навсего обращаются к одному и тому же объекту.
 Чтобы лучше понять, что происходит просто замените <%@include file="showForm.jsp"%> на содержимое страницы showForm.jsp

Добавлено через 3 минуты и 3 секунды
Код

<!-------------------------------------------------------------------------------->
// а вот здесь уже передаю на новую
         <td><input type = "radio" name = "dataIda" value =<%= comprobacion.getDataIda()%> <%=comprobacionBean.getDataIda()%>></td>
<!-------------------------------------------------------------------------------->


Этот код не передает данные на страницу showForm.jsp. Данные из вашей страницы по http могут быть переданы только на index.jsp, потому что она указана в аттрибуте action тега form.
PM MAIL   Вверх
Smolet
Дата 12.12.2007, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 20.4.2007

Репутация: нет
Всего: нет



если я меняю в <form  method = "post"> на get, то я вижу в урл передаваемые данные, так что по хттп они передаются....

Цитата

Этот код не передает данные на страницу showForm.jsp. Данные из вашей страницы по http могут быть переданы только на index.jsp, потому что она указана в аттрибуте action тега form.


это просто кнопка возврата к индексу...по моему на данные она никак не влияет



PM MAIL   Вверх
stup
Дата 12.12.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.4.2007

Репутация: 1
Всего: 1



Если Вы меняете метод с post на get, то вы видите в урле данные, которые передаются на страницу index.jsp. Как вы определяете, что данные передаются на страницу showForm.jsp ?
PM MAIL   Вверх
Smolet
Дата 12.12.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 20.4.2007

Репутация: нет
Всего: нет



хорошо, как мне сделать, что бы данные передавались на showForm?????
это  то что я хочу понять 
PM MAIL   Вверх
stup
Дата 12.12.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.4.2007

Репутация: 1
Всего: 1



Во первых, аттрибут action тега form должен указывать на страницу, на которую вы хотите передать данные (в нашем случае это showForm.jsp). Во вторых, добавте в showForm.jsp такой код 
Код

<% String data = request.getParameter("dataIda") %>

dataIda - это имя нашей радиокнопки на предыдущей странице, поэтому в запросе оно будет таким же, поэтому под этим именем мы и забираем данные. Теперь в переменной data хранятся данные, которые вы хотели передать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1163 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.