Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода апплета из JSP. / 25 сообщений из 42, страница 1 из 2
02.11.2016, 18:44
    #39340245
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Апплет с JMenu. Идея заполнять его динамически через JSP. По умолчанию пустой бар с одной кнопочкой.
Вызов штатный:
app=document.getElementById('uo_menu_a');
app.addmenu('1','0','1подменю','1',1);
app.addmenu('2','0','1пунктменю корень','1',2);
app.addmenu('3','1','1пунктменю','1',2);
app.addmenu('4','0','1подменю','1',1);
app.addmenu('5','4','1подменю2','1',1);
app.menu_init(0);
--не работает, пустое меню без ошибок.
Вызов тестовый:
app.menu_init(1);
Разница в том что с входящим app.menu_init(1)
сначала внутри menu_init есть строки
app=document.getElementById('uo_menu_a');
app.addmenu('1','0','1подменю','1',1);
app.addmenu('2','0','1пунктменю корень','1',2);
app.addmenu('3','1','1пунктменю','1',2);
app.addmenu('4','0','1подменю','1',1);
app.addmenu('5','4','1подменю2','1',1);

Вопрос чем отличается заполнение addmenu из скрипта а потом menu_init и когда addmenu вызывается в menu_init .

public void addmenu (String id ,String parent_id ,String a_name,String a_code,int menu_type ) {
System.out.println ("Error");
tmpmobject = new mobject (id , parent_id , a_name, a_code,menu_type );
menus.put( id, (mobject) tmpmobject);


}


public void menu_init (int mode )
{
// для теста
if ( mode==1) {
this.addmenu ("1","0","подменю","",1);
this.addmenu ("2","0","пунктменю корень","",2);
this.addmenu ("3","1","пунктменю","",2);
this.addmenu ("4","0","подменю","",1);
this.addmenu ("5","4","подменю2","",1);
};

contentPane=(JComponent)getContentPane();
mainMenu = new JMenuBar();
head = new JMenu("0");
panel = new JPanel();



// перекидываем объекты в компоненты
names = menus.keys();
while(names.hasMoreElements()) {
str = (String) names.nextElement();
tmpmobject =menus.get(str);

if ( tmpmobject.menu_type == 1)
{
this.addJmenu( tmpmobject.id, tmpmobject.a_name);
};
if ( tmpmobject.menu_type == 2)
{
this.addJmenuitem ( tmpmobject.id, tmpmobject.a_name);
};

}

/////////////////////////////////////

// ImageIcon image1 = new ImageIcon(getToolkit().createImage("login.jpg"));
// head.setIcon(image1);

this.matching_menus();

mainMenu.add(head);
contentPane.add(mainMenu,BorderLayout.NORTH);
contentPane.add(panel,BorderLayout.CENTER);

this.repaint();
this.validate();


}
...
Рейтинг: 0 / 0
02.11.2016, 18:58
    #39340257
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Используйте теги форматирования для подсветки кода.
Не используйте repaint();/validate(); - если они вам нужны, то что-то вы делаете не так.
Из JSP нельзя вызывать методы аплета. JSP это Java Server Pages. А апплет это клиентская технология. Методы аплета можно вызывать из JavaScript.
Из вашего поста не понятно вызывается ли метод addmenu в принципе. Если таки вызывается, то я бы проверил из какого потока. Методы вызванные из JavaScript имеют ещё больше ограничений чем сам апплет. Возможно, их стоит синхронизировать с Event Dispatch Thread через invokeLater() либо invokeAndWait()
https://docs.oracle.com/javase/tutorial/uiswing/concurrency/initial.html
...
Рейтинг: 0 / 0
02.11.2016, 22:30
    #39340374
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
Да конечно скриптом,извините опечатался. Я не делал проверку вызываются ли методы добавки, да я использую инвокер иначе бы не работал вариант через тестовый пример. У меня есть готовый и рабочий аналог с котрого я делал это. Схема такая: после запуска аплета я запускаю скрипт в котором сначала работаю методы аплета изменяющие его содержимое затем метод который по этим данным перерисовывают аплет. В рабочем примере у меня панель и разные компоненты типа текстлейбл.
Здесь сделал аналогично но не работает.
Методы аплета вызыватся точно но непонятно почему так.
...
Рейтинг: 0 / 0
02.11.2016, 23:08
    #39340391
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
У меня появилась догадка что не так.нужно понять что внутри инвокер вызывается после каждого вызова метода в скрипте или в конце скрипта один раз?
...
Рейтинг: 0 / 0
03.11.2016, 09:30
    #39340500
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Догадка оказалась не разгадка. Все еще нужно помощь.
...
Рейтинг: 0 / 0
03.11.2016, 09:52
    #39340522
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgul,

Пропишите на настройках плагина параметры для удаленной отладки
http://docs.oracle.com/javase/1.5.0/docs/guide/plugin/developer_guide/debugger.html
Подключитесь дебаггером и посмотрите что происходит.

Разбираться в ваших кусках кода без подсветки и с сумашедшим соглашением об именовании никому не интересно.
...
Рейтинг: 0 / 0
03.11.2016, 10:36
    #39340553
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz, хорошо я попробую.
Но если кратко:
<script>
{
app.addmenu('1','0','подменю','1',1);
app.menu_init(0);
}
</script>
не работает.
<script>
{
app.menu_init(1); -- в этом случае внутри этого метода присутствует app.addmenu('1','0','подменю','1',1);
}
</script>
работает.
...
Рейтинг: 0 / 0
03.11.2016, 11:01
    #39340584
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgul, пока вас тут не застрелили
Код: javascript
1.
2.
3.
4.
5.
6.
<script>
{
app.addmenu('1','0','подменю','1',1);
app.menu_init(0);
}
</script>


не работает.

Код: javascript
1.
2.
3.
4.
5.
<script>
{
app.menu_init(1); -- в этом случае внутри этого метода присутствует app.addmenu('1','0','подменю','1',1); 
}
</script>


Используйте тэг SRC
...
Рейтинг: 0 / 0
03.11.2016, 11:02
    #39340588
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
Как это "появишно" дебаггер не запускается ругается shmenBase_attach failed, как правильно указать параметр -Xrunjdwp можно п о ссылке http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html, ссылка 404.
...
Рейтинг: 0 / 0
03.11.2016, 11:05
    #39340600
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulКак это "появишно" дебаггер не запускается ругается shmenBase_attach failed, как правильно указать параметр -Xrunjdwp можно п о ссылке http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html, ссылка 404.
Не надо гнать на яву. Это тупой оракл задолбал переделывать сайты.
http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html
...
Рейтинг: 0 / 0
03.11.2016, 11:05
    #39340602
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
SQL2008,
Где? Как я должен был это узнать? Что и откуда мне еще нужно узнать?
...
Рейтинг: 0 / 0
03.11.2016, 11:07
    #39340608
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
BlazkowicznasgulКак это "появишно" дебаггер не запускается ругается shmenBase_attach failed, как правильно указать параметр -Xrunjdwp можно п о ссылке http://java.sun.com/j2se/1.4.2/docs/guide/jpda/conninv.html, ссылка 404.
Не надо гнать на яву. Это тупой оракл задолбал переделывать сайты.
http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/conninv.html
Я и не собирался. Ведь именно эту технологию я выбрал среди прочих. Но мое общение с ней складывается с постоянных таких нежданчиков.
...
Рейтинг: 0 / 0
03.11.2016, 11:08
    #39340611
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulГде? Как я должен был это узнать? Что и откуда мне еще нужно узнать?
http://www.sql.ru/forum/rules.aspx
...
Рейтинг: 0 / 0
03.11.2016, 11:09
    #39340612
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulЯ и не собирался. Ведь именно эту технологию я выбрал среди прочих. Но мое общение с ней складывается с постоянных таких нежданчиков.
Очень странный выбор. Апплеты практически мертвая технология.
...
Рейтинг: 0 / 0
03.11.2016, 11:20
    #39340631
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
А какие варианты?
Вся бизнес логика на sql-сервере. На нем же лежат графические описания форм. Сервлет мне возвращает вызов апплета и скрипт заполняющий его данными.
С одиночной формой редактирования данных все прошло на ура, и список то же более не менее приличный.. Я думал и тут получится. А больше мне ничего и не надо.
Предложите лучше.
...
Рейтинг: 0 / 0
03.11.2016, 11:22
    #39340634
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulА какие варианты?
Предложите лучше.
DHTML
...
Рейтинг: 0 / 0
03.11.2016, 11:30
    #39340638
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
Для меня это выглядит очень размыто.
С явой все понятно. Я следую парадигме существующего приложения и мне нужно всего лишь три графический компоненты: uo_menu,uo_list,uo_edit. Будучи написаны однажды не нуждающиеся в существенных изменениях. Нужен очень тонкий графический интерфейс и больше ничего. Наша система в графическом смысле не меняется уже много лет.
JMenu, JPanel, Jtabel - вижу я. И две из них у меня в первейшем приближении готовы.
...
Рейтинг: 0 / 0
03.11.2016, 12:09
    #39340687
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz, не получается дебаггер запустить.
Но я методом проб и ошибок выяснил, что проблема с параметрами вызываемых методов.

app.addmenu(); - OK
app.addmenu('1'); - OK
app.addmenu('1','0','подменю','1',1); - не работает из скрипта, но работает внутри апплета.

Неужели ничего такого не было?
...
Рейтинг: 0 / 0
03.11.2016, 13:12
    #39340740
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulне работает
Ваше "не работает" не достаточно конкретно. Не вызывается метод апплета? Вызывается, но как-то не так? Есть ли ошибки в консоли браузера? Есть ли ошибки в консоли апплета?
...
Рейтинг: 0 / 0
03.11.2016, 13:21
    #39340749
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
Отсутствует результат. В меню должен появиться пункт(ы) меню. Никаких ошибок нет.
Я кстати глянул тот "работающий" пример с которого я делал этот, так вот там первый параметр стринговый
<scr>
app.addDWobject("out_no ",1,231,60,231,21);
app.addDWobject("who_get ",1,231,86,457,21);
app.addDWobject("document_form_id_s ",1,231,246,457,21);
app.addDWobject("folder_id_s ",1,231,273,457,21);
app.addDWobject("brok_name ",1,231,166,457,21);
app.addDWobject("corr_short_name ",1,231,220,457,21);
app.addDWobject("who_put ",1,231,113,457,21);
app.addDWobject("brok_code ",1,231,140,426,21);
app.addDWobject("corr_code ",1,231,193,426,21);
</scr>

и я искренне думал, что проблема новая. Но она была бы и там.

Выходит есть какое-то ограничение на параметры. В принципе я могу и изгальнутся, и стринги склеить а потом распарсить. Но как-то это....
Да и неплохо бы узнать, а где еще соломки подстелить.
P.S. гуглю эту тему ничего нет, у всех все простенько. Может это я пытаюсь выше головы прыгнуть.
...
Рейтинг: 0 / 0
03.11.2016, 13:24
    #39340751
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulОтсутствует результат.
Очень сложно вам помочь, когда на каждый вопрос у вас ответ в стиле "программа не работает".
...
Рейтинг: 0 / 0
03.11.2016, 13:40
    #39340772
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
В меню должен появиться пункт(ы) меню.К компоненте JMenu методом add привяжется еще одна компонента JMenu.

Впрочем проблема еще более локализована, если второй параметр вызываемого метода апплета не string, то метод не отрабатывает (см. выше).
Version 1.5.0 (build 1.5.0_22-b03)
...
Рейтинг: 0 / 0
03.11.2016, 15:41
    #39340921
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Все интернеты облазил, нигде никакого упоминания о подобном ограничении. Более того создается такое впечатление что вообще больше одного параметра и не должно передаваться. Я конечно справлюсь, но ужас ужас.
...
Рейтинг: 0 / 0
03.11.2016, 15:50
    #39340931
nasgul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
Blazkowicz,
В меню должен появиться пункт(ы) меню.К компоненте JMenu методом add привяжется еще одна компонента JMenu.

Впрочем проблема еще более локализована, если второй параметр вызываемого метода апплета не string, то метод не отрабатывает (см. выше).
Version 1.5.0 (build 1.5.0_22-b03)

Ошибся, читать правильно
Впрочем проблема еще более локализована, если второй параметр вызываемого метода апплета string, то метод не отрабатывает.
...
Рейтинг: 0 / 0
03.11.2016, 15:58
    #39340942
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов метода апплета из JSP.
nasgulВпрочем проблема еще более локализована, если второй параметр вызываемого метода апплета string, то метод не отрабатывает.
Метод "не отрабатывает" и метод не запускается в принципе, немного разные вещи по-моему. Если JS не может вызвать метод апплета, то должна быть какая-то ошибка в консоли браузера. Или, возможно, какой-нибудь "No such method" в консоли плагина.
Попробуйте настроить более детальное логирование:
http://www.cs.mun.ca/java-api-1.5/guide/deployment/deployment-guide/tracing_logging.html
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вызов метода апплета из JSP. / 25 сообщений из 42, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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