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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с jsp 
V
    Опции темы
Bulat
Дата 3.8.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Вообщем задача такая:

Вылезает страница на которой в таблице список счетов клиента:

после чего идет тег формы в котором выпадающий список из номеров счетов клиента(типа выбирите счет), но мне в момент передачи данных сервлету еще надо и передать значение "флага" выбранного счета, его можно получить recordsArray[i].getFlag, но вот куда бы его присобачить, чтоб грамотно было?

Код

<html><head>
    <title>Личный кабинет</title>
</head>
    <body>
    <%
        Integer userId = (Integer) request.getAttribute("userId");
        Date lastVisit;
        LastVisit lv = new LastVisit(userId);
        lastVisit = lv.getLastVisit();
    %>
    <h1 align="center"> Ваш личный кабинет(№<%=userId%>) </h1>
    <h1 align="center">последнее посещение - <%=lastVisit%></h1><br><br><br>
    <h1 align="center">Ваши счета</h1>
    <%
        RecordsData[] recordsArray;
        ClientRecords cr = new ClientRecords(userId);
        recordsArray = cr.getClientRecords();
        %><table align="CENTER" Border=10>
        <tr><th>Номер счета<th>Баланс<th>Лимит
        <%
        for (int i = 0; i < recordsArray.length; i++) {
        %>
            <tr><td><%=recordsArray[i].getRecordId()%>
            <td><%=recordsArray[i].getBalance()%>
            <td><%=recordsArray[i].getLimit()%>
            </tr><%
        }
    %></table>
    <br><br><br><br>
    <h2 align="center">Просмотреть статистику счета</h2>
    <form method=post action="http://localhost:8080/PrivateCabinet/PrivateCabinet?id=record">
        <pre>
            Выбирите счет:
            <select name="clientRecords" size="<%=recordsArray.length%>">
            <%
                for (int i = 1; i <= recordsArray.length; i++) {
            %>
                <option value="<%=i%>"><%=i%>
            <%
                }
            %>
            </select>
            <input type="submit" value="Просмотреть"> <br> <br>
        </pre>
    </form>
    </body>
</html>


Атрибут сессии?  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Maksym
Дата 3.8.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



Bulat
hidden - поле в форму? дополнительный параметр в строке action'а формы?
Атрибут сессии прийдется очищать своеверменно, да и нужен ли где нибудь этот флаг после обработки формы сервлетом...
PM MAIL   Вверх
Bulat
Дата 3.8.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Maksym, нужен, еще как нужен. Список счетов это лишь порядковый их номер, а вот различие их как раз во флаге  smile 
И основная проблема в том чтобы прицепить это значение флага к выпадающему списку, ведь я заранее не знаю какой из счетов выбирет пользователь, а генерировать список надо динамически

Это сообщение отредактировал(а) Bulat - 3.8.2006, 16:01


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Maksym
Дата 3.8.2006, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

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



Bulat
Ааааа, каждом элементу списка соответствует свой флааааг smile я не понял сразу, извини..
Вариант: 
Делаешь еще один select со значениями флагов в value на соотвтестующих option'ах. Пусть он будет скрытым (style='dispay: none;' - например). На onSelect первого option'a вешаем скрипт, который будет выбирать то же по порядку поле в скрытом. Ну и в сервлете получаешь значение флага.
Возможная проблема:
У пользователя отключен JavaScript

Добавлено @ 17:37 
Постоянно держать список в сессии - тоже решение, и не худшее, а если он часто используется - тем более (своеобразный кэш). Но если он может менятся - необходимо отслеживать его актуальность.

Добавлено @ 17:39 
Еще вариант, несколько искусственный, но обходит проблему с отключенным JS:
Формируешь select следующим образом:
Код

           <select name="clientRecords" size="<%=recordsArray.length%>">
            <%
                for (int i = 1; i <= recordsArray.length; i++) {
            %>
                <option value="<%=i%>_<%=recordsArray[i].getFlag%>"><%=i%>
            <%
                }
            %>
            </select>

А в сервлете - распарсиваешь значение параметра - получаешь и номер и флаг.

Это сообщение отредактировал(а) Maksym - 3.8.2006, 17:40
PM MAIL   Вверх
Bulat
Дата 4.8.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

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



Maksym, сенкс, тока я сделал совсем по другому немного разнообразив веб-сервис  smile 


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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