powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по реализации выбора посредством JSTL
3 сообщений из 3, страница 1 из 1
Вопрос по реализации выбора посредством JSTL
    #33940714
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[облегчу до минимума]

Из сервлета на JSP передаю коллекцию countries, тип Country (int id, String name, Collection states). На JSP - 2 SELECT'а - country и state.

Надо сделать, чтобы при выборе в первом менялось содержимое второго. Все, что касается непосредственной работы с SELECT - делается в функции javascript и здесь не обсуждается.

Получается, что структура ${} работает только в стадии интерпретации страницы и при заполнении поля Country все предельно просто:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<select name=selectCountry>
	<c:forEach var="country" items="${countries}" varStatus="stat">
		<option value="${country.name}">
			${country.name}
		</option>
	</c:forEach>
</select>

А вот как быть с заполнением второго при выборе позиции в первом? Скажем, в первом выбран USA, для него country.name=USA, country.states=[Collection (State)], где country.states[0]=Alabama, country.states[1]=Alaska и т.д. Так вот вопрос сводится к следующему: возможно ли по выбранному value в SELECT получить сам объект, одно из полей которого показывается?

Теоретически, решение вроде напрашивается, но уж больно оно мне кажется "корявым": каждый раз при выборе строки формировать новую подчиненную коллекцию.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<% String selectedCountry = ""; %>
...
<%
   Collection countries = request.getAttribute("countries"), states =  null ;
    while  (countries.iterator().hasNext()) {
      Country tempCountry = (Country) countries.iterator().next();
       if  (selectedCountry.equals(tempCountry.name) {
         states = tempCountry.states;
          return ;
      }
   }
%>
И теперь надо в цикле заполнить SELECT элементами полученной коллекции.
Как-то вяло ...

На крайний случай - придется при выборе строки возвращаться в сервлет и заново перегружать страницу.
...
Рейтинг: 0 / 0
Вопрос по реализации выбора посредством JSTL
    #33941136
maddcast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простой выход из положения:
http://ajaxtags.sourceforge.net/
...
Рейтинг: 0 / 0
Вопрос по реализации выбора посредством JSTL
    #33942459
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой термин, как AJAX, слышал давно, но никак не доходили руки узнать, что это.

Часок покопался в инете - улнал что к чему, часок код клепал ... заработало с первого тыка! Я в полном восторге от этой технологии!!! Понимал, что что-то такое есть, но чтобы так просто и удобно - не знал. Спасибо за совет. Это теперь открывает новые горизонты в разработке проектов JSP-servlet.

Одно настораживает, что response возвращается только по GET'у. Но (вроде) у нас в запасе всегда есть cookies, правильно я понимаю?

[прошу данный пост считать проявлением эмоций :)]
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по реализации выбора посредством JSTL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]