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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JavaScript-меню, Как взаомодействует JavaScript & JSP? 
:(
    Опции темы
MisterCleric
Дата 4.5.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

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



Привет всем.
Задавал подобный вопрос в JavaScript-топике - молчат.
Так вот: Мне надо построить подобное Виндозному "Пуск" меню на страничке, где пункты меню беруться из БД.
Как связать JSP и JavaScript, что бы у меня заработало:
Код

<script>
    function showMenu(obj) {
       document.write("<c:url value='http://cleric.ua/hello/menu.jsp' var='menu'>"+
       "<c:param name='left' value='${obj.style.left}'/>"+
       "<c:param name='top' value='${obj.style.top}'/>"+
       "</c:url>")
       document.write("<c:import url='${menu}' />")
</SCRIPT>  

Который я вызываю:
Код

<button name="mybt" value="Start" onClick="showMenu(this)"><img src="images/start.gif" width="15" height="15" />  Start</button>

 


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
batigoal
Дата 4.5.2006, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Так а в чем заключается проблема? 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
tux
Дата 4.5.2006, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Это в корне неправильно. JavaScript интерпретируется клиентским браузером. То есть ты вот это:
Код

<c:url value='http://cleric.ua/hello/menu.jsp' var='menu'>
<c:param name='left' value='${obj.style.left}'/>
<c:param name='top' value='${obj.style.top}'/>
</c:url>
передаешь баузеру, а он в принципе не способен JSP интерпретировать.

Можно сделать наоборот, сгенерировать из JSP Javascript. 
PM MAIL Skype GTalk Jabber YIM   Вверх
MisterCleric
Дата 4.5.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

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



Хм. И как? Я еще не селен в JSP.
Хочу каждое подменю генерить вoт том menu.JSP выборкой из БД и формировать дивчик в определенном месте с табличкой с элементами меню, которые функционально идентичны их родительскому меню, при наведении на пункт меню, а это же чистое событие JavaScript onMouseOver. Оно также у меня должно возникать в сформированном подменю, которое может иметь свое подменю. 


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
tux
Дата 4.5.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Цитата(MisterCleric @  4.5.2006,  21:47 Найти цитируемый пост)
Хм. И как? Я еще не селен в JSP.

А я ничего не смыслю в Javascript, поэтому ничего не понял. В принципе в JSP можно сгенерировать все что угодно. А уж как это будет, тебе решать. 
PM MAIL Skype GTalk Jabber YIM   Вверх
MisterCleric
Дата 4.5.2006, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

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



так а как генерить код типа
Код

 <script>
     function fn(){
        location.href=someURL
}
</script>

например при наведении на какой-нибудь текст? 


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
YuG
Дата 4.5.2006, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ты пойми одно: javascript работает у клиента. 
JS ничего не знает ни про JSP, ни про базу данных. 
Все данные должны быть уже предоставлены ему.

Я б делал это примерно так:
на onMouseOver вешаешь submit формы, передаешь ей уникальный ID пункта меню.
JSP получает ID, по нему из БД получает подпункты меню, создает javascript и html.
Обрати внимание, что страничка будет перегружаться на каждое событие.

Код

<script>    
    function onMouseOver() {
      // id =  //тут надо получить id выбранного меню
      showMenu(id);
    }

    function showMenu(id) {    
     document.all.myform.id.value = id;
     document.all.myform.submit();
   }
</script>  

<!-- Вот тут создаешь HTML для своего div'a при помощи Java: -->
<% 
    StringBuffer sb = new StringBuffer();
    sb.append("<div id='rform' style='height:150px; width:100%;'>");
    // Кстати, ID надо  создавать где-то тут
    sb.append("</div>");
%>

<!-- А вот тут выводишь полученный HTML на страницу -->
<%=sb.toString()%>

<!-- Форма для перечи выбранного ID  -->
<form name="myform" action="mypage.jsp" method="POST" >
  <input type="hidden" name="id" value="0"/>
</form>


Не претендую на полноту ответа, это лишь набросок ;)
 
PM WWW ICQ Skype   Вверх
MisterCleric
Дата 5.5.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

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



Ага, спасибо за идею насчет submit: отсюда и пойду smile  


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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