Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как вызвать метод java класса из javascript / 25 сообщений из 31, страница 1 из 2
16.05.2016, 15:15
    #39236638
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Здравствуйте!
Я новичок в Oracle APEX.
Подскажите, как можно вызвать метод java класса из JavaScript Code.
В базе данных есть мой java класс HelloWorldExample. У него есть статический метод:

Код: java
1.
2.
3.
4.
5.
6.
public static void sayHello(String forename, String surname
                      , String outString[])
{
outString[0] = "HELLO WORLD more specifically hello " + forename
          + " " + surname;
}


У меня на HTML странице есть кнопка. Я создала для нее Dinamic Action, в котором по событию OnClick() должен выполниться JavaScript Code, в этом коде должен вызываться мой метод sayHello() из java класса HelloWorldExample.
Сразу скажу, что я знаю как вызвать метод java класса из PL/SQL. Меня интересует вызов именно из javascript.
Большое спасибо.
...
Рейтинг: 0 / 0
16.05.2016, 15:48
    #39236675
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatСразу скажу, что я знаю как вызвать метод java класса из PL/SQL. Меня интересует вызов именно из javascript.
JS работает с БД через апекс. Это если без извратов.
Значит ваш вопрос перефразируем как: "Я знаю как вызвать из JS апекс и знаю как из апекс вызвать PL код а из него Java".
Итого, у вас извращённые желания?
...
Рейтинг: 0 / 0
16.05.2016, 21:03
    #39236907
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Petro123JS работает с БД через апекс. Это если без извратов.
Значит ваш вопрос перефразируем как: "Я знаю как вызвать из JS апекс и знаю как из апекс вызвать PL код а из него Java".
Итого, у вас извращённые желания?
Предположим, у меня в базе есть большая библиотека, состоящая из множества java классов. Как вызывать нужные мне функции из этой библиотеки в HTML страницах? На каждую функцию заводить хранимую процедуру PL/SQL?
...
Рейтинг: 0 / 0
16.05.2016, 21:11
    #39236908
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Bolonat,
обычно наоборот бывает)). Как в PL использовать JS.
Т.к. Java и JS круче чем PL.
Т.е. какого рожна ты запихал тогда её в СУБД?
- либо через хранимку
- либо REST проект на Java рядышком с апекс ORDS
Но тогда причём тут апекс?
Все решения некрасивы.
...
Рейтинг: 0 / 0
16.05.2016, 21:33
    #39236922
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatPetro123JS работает с БД через апекс. Это если без извратов.
Значит ваш вопрос перефразируем как: "Я знаю как вызвать из JS апекс и знаю как из апекс вызвать PL код а из него Java".
Итого, у вас извращённые желания?
Предположим, у меня в базе есть большая библиотека, состоящая из множества java классов. Как вызывать нужные мне функции из этой библиотеки в HTML страницах? На каждую функцию заводить хранимую процедуру PL/SQL?

Я вот тут не много не понял...Вызов метода загруженного java класса в Oracle не отличается от
вызова pl/sql....ява процедура "обвёрнута" pl/sqlем
Код: plsql
1.
2.
CREATE OR REPLACE FUNCTION helloworld RETURN VARCHAR2 AS
  LANGUAGE JAVA NAME 'Hello.world () return java.lang.String';



и в апексе вызываем helloworld как обычный pl/sql блок.
На каждую функцию заводить хранимую процедуру PL/SQL

Ну Вы можете пакет package создать...и в нём опубликовать java функции...но java методы обязаны быть "обёрнуты" pl/sqlем
...
Рейтинг: 0 / 0
16.05.2016, 21:48
    #39236928
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Petro123Bolonat,
обычно наоборот бывает)). Как в PL использовать JS.
Т.к. Java и JS круче чем PL.
Т.е. какого рожна ты запихал тогда её в СУБД?
- либо через хранимку
- либо REST проект на Java рядышком с апекс ORDS
Но тогда причём тут апекс?
Все решения некрасивы.
Ну во-первых, я - дама ).
На всякий случай - у меня APEX 4 и Oracle 10g. Во-вторых, если ее не пихать в СУБД, то куда? Надо положить jar файл в определенное место на сервере с помощью loadjava? Можно поподробнее про "REST проект на Java рядышком с апекс ORDS". Ну или ткните носом, что почитать...
...
Рейтинг: 0 / 0
16.05.2016, 21:59
    #39236930
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
irbis_alНу Вы можете пакет package создать...и в нём опубликовать java функции...но java методы обязаны быть "обёрнуты" pl/sqlем
Это, я так понимаю, если библиотека загружена в СУБД...
...
Рейтинг: 0 / 0
16.05.2016, 22:54
    #39236958
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Bolonat Можно поподробнее про "REST проект на Java рядышком с апекс ORDS". Ну или ткните носом, что почитать...
Почитала про REST сервисы тут: https://www.ibm.com/developerworks/ru/library/wa-jaxrs/
Похоже, мы друг друга не поняли... ( Я разрабатываю web приложение в Oracle APEX. А REST сервисы применяются в среде Java EE. Да и больно наворочено - надо всю java библиотеку снабжать аннотациями.
Может, будут еще какие-нибудь "красивые решения"?
...
Рейтинг: 0 / 0
17.05.2016, 09:46
    #39237097
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatBolonat Можно поподробнее про "REST проект на Java рядышком с апекс ORDS". Ну или ткните носом, что почитать...
Почитала про REST сервисы тут: https://www.ibm.com/developerworks/ru/library/wa-jaxrs/
Похоже, мы друг друга не поняли... ( Я разрабатываю web приложение в Oracle APEX. А REST сервисы применяются в среде Java EE. Да и больно наворочено - надо всю java библиотеку снабжать аннотациями.
Может, будут еще какие-нибудь "красивые решения"?

М...вы толком расскажите...у Вас java классы загружены в базу или нет...
если нет...
То нужна программная прослойка(что будет написана Вами ) ...нужен некий внешний процесс который будет общаться с ораклом(По Socket утилита utl_tcp или по http utl_http).или с клиентом в браузере например по Websocket.(Но опять таки надо написать сервер websocket)
...
Рейтинг: 0 / 0
17.05.2016, 10:42
    #39237142
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatМожет, будут еще какие-нибудь "красивые решения"?
сначала дайте больше инфы. Т.к. велосипед написать очень легко.
Я пока не понял что вы хотите.
Нужны ВИ или преценденты (пользователь зашёл...и т.д.).
Так проектируются ИС по ГОСТу.
У вас подозрения, что программист захотел велосипед изобрести.
...
- REST и сервисы от самого апекс мало кто использует по многим причинам.
- REST ваш от Java EE можно вызвать по урл. Если это Full REST.
BolonatА REST сервисы применяются в среде Java EE
я это знаю. Дальше то что?
...
Рейтинг: 0 / 0
17.05.2016, 15:06
    #39237476
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
В глобальном масштабе меня интересует использование java библиотек в apex. Благодаря уважаемому сообществу удалось выяснить, что если библиотека загружена в СУБД, то вызов методов возможен только из хранимых процедур. Это мне не нравится. Я не хочу писать отдельную хранимую процедуру на каждый java метод или создавать пакет.

Тогда, хотелось бы понять, как можно вызвать методы java класса, который находится на сервере в архиве .jar. Например, если я хочу вызвать функцию из JavaScript-файла, который лежит на сервере, то достаточно подключить в HTML Header страницы файл скрипта
Код: html
1.
<script type="text/javascript" src="/i4/libraries/apex/my_js.js"></script>


и можно вызывать далее функцию в любом месте. Можно ли аналогично вызывать методы java классов, из .jar файла?

Вот здесь , например, написано:
авторIf your jar file contains the objects that display some user interface control or you need to call the java from the javascript then you need to embed your jar file in the html code by using <OBJECT > or <APPLET> tag
и далее дается пример отсюда . Я сейчас с этим разбираюсь. Возможно, я вообще не там копаю, но к написанию своего websocketa я однозначно еще не готова.
...
Рейтинг: 0 / 0
17.05.2016, 15:52
    #39237535
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Bolonat,

Если .jar написан в виде сервлета, его надо поместить в контенйнер сервлетов (tomcat, glassfish), а далее работайте как Вашей душе угодно.
...
Рейтинг: 0 / 0
17.05.2016, 15:54
    #39237544
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
[quot Bolonat]
Если же вы хотите вызывать JAVA классы, которые опубликованы в БД, без PL/SQL обвертки не обойтись.
...
Рейтинг: 0 / 0
17.05.2016, 15:56
    #39237547
blkangel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Ну и напоследок, если у Вас все JAVA классах, и Вы не хотите PL/SQL обверток, может вы выбрали не тот фреймворк?
...
Рейтинг: 0 / 0
17.05.2016, 15:58
    #39237550
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatВозможно, я вообще не там копаю,
но к написанию своего websocketa я однозначно еще не готова.
- веб сокет не нужен.
- почитайте про REST приложения. Это веб приложения работающие через урл.
Ну а урл можно вызвать из приложения апекс.
Ферштейн?
Т.е. тебе нужно написать приложение БЕЗ апекс на Java и общаться с ним по урл.
...
Рейтинг: 0 / 0
17.05.2016, 16:01
    #39237553
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Bolonat,
логике в том что вы хотите у вас не хватает IMHO. Женщина?
))
...
Рейтинг: 0 / 0
17.05.2016, 21:48
    #39237778
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Я НЕ выбирала APEX. Меня подключили к проекту уже на стадии разработки. Сама бы я APEX ни за что не выбрала. Но отказаться от него я не могу. Я ищу простые способы использования в нем нормальных библиотек.
Petro123, у меня не хватает знания и опыта работы в APEX. Именно поэтому я спрашиваю совета на форуме. И гендерный признак тут совершенно ни при чем.
...
Рейтинг: 0 / 0
17.05.2016, 21:59
    #39237780
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatИ гендерный признак тут совершенно ни при чем.
не обижайтесь. Мужской программисткий коллектив он такой)).
Знаете Java - делайте. Выше написано. Опыт за счёт работодателя приобретёте.
Но архитектурно решение - Г..
Удачи!
...
Рейтинг: 0 / 0
18.05.2016, 08:08
    #39237853
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Petro123Но архитектурно решение - Г..

Абсолютно согласна...
...
Рейтинг: 0 / 0
18.05.2016, 09:49
    #39237934
пробегал
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatВ глобальном масштабе меня интересует использование java библиотек в apex. Благодаря уважаемому сообществу удалось выяснить, что если библиотека загружена в СУБД, то вызов методов возможен только из хранимых процедур. Это мне не нравится. Я не хочу писать отдельную хранимую процедуру на каждый java метод или создавать пакет.

Тогда, хотелось бы понять, как можно вызвать методы java класса, который находится на сервере в архиве .jar. Например, если я хочу вызвать функцию из JavaScript-файла, который лежит на сервере, то достаточно подключить в HTML Header страницы файл скрипта
Код: html
1.
<script type="text/javascript" src="/i4/libraries/apex/my_js.js"></script>


и можно вызывать далее функцию в любом месте. Можно ли аналогично вызывать методы java классов, из .jar файла?

Вот здесь , например, написано:
авторIf your jar file contains the objects that display some user interface control or you need to call the java from the javascript then you need to embed your jar file in the html code by using <OBJECT > or <APPLET> tag
и далее дается пример отсюда . Я сейчас с этим разбираюсь. Возможно, я вообще не там копаю, но к написанию своего websocketa я однозначно еще не готова.


Вы понимаете разницу между java-аплетами и HTML5 приложениями, которыми являются приложения Oracle APEX? Мне кажется, что нет.

1) Для работы аплета у клиента должна стоять jre и плагин для браузера. Не у всех клиентов есть jre. Не все устройства могут запускать аплеты (например мобильные)
2) Современные браузеры по-умолчанию не поддерживают аплеты в связи с их небезопасностью и другими бяками. В дальнейшем поддержка аплетов прекратится совсем.
3) Oracle APEX не работает с аплетами.

Поэтому

1) правильно вам здесь сказали - если у вас есть нужная библиотека java-классов, то грузите их сначала в базу данных Oracle (при этом не все классы могут загрузиться, так как есть ограничения - смотрите документацию), затем обертываете нужные функции java в pl/sql процедуры (пакеты, функции) и уже эти pl/sql процедуры дергаете из APEX стандартным для APEX способом.

2) другой вариант. Например использование Oracle Forms 10g и выше, который на стороне клиента есть сам большой java-аплет и на стороне сервера проще работает с java-библиотеками. Там для этого есть инструмент - Java Importer

3) используйте java-framework Oracle JDeveloper ADF.

4) используйте любой другой java-framework
...
Рейтинг: 0 / 0
18.05.2016, 13:51
    #39238225
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
пробегал,

Вы знаете ,как правило сейчас у всех есть jre для запуска апплета ,
и с моей точки зрения апплет для этого решения самое близкое.
ибо js может общатся с апплетом.
Просто не забываем,что апплет будет deprecated...от него браузеры будут отказываться.
Останется только jlnp.
А вот jlnp уже близко не общается с апплетом.
...
Рейтинг: 0 / 0
18.05.2016, 13:58
    #39238234
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
пробегалВы понимаете разницу между java-аплетами и HTML5 приложениями, которыми являются приложения Oracle APEX? Мне кажется, что нет.

1) Для работы аплета у клиента должна стоять jre и плагин для браузера. Не у всех клиентов есть jre. Не все устройства могут запускать аплеты (например мобильные)
2) Современные браузеры по-умолчанию не поддерживают аплеты в связи с их небезопасностью и другими бяками. В дальнейшем поддержка аплетов прекратится совсем.
3) Oracle APEX не работает с аплетами.

Поэтому

1) правильно вам здесь сказали - если у вас есть нужная библиотека java-классов, то грузите их сначала в базу данных Oracle (при этом не все классы могут загрузиться, так как есть ограничения - смотрите документацию), затем обертываете нужные функции java в pl/sql процедуры (пакеты, функции) и уже эти pl/sql процедуры дергаете из APEX стандартным для APEX способом.

2) другой вариант. Например использование Oracle Forms 10g и выше, который на стороне клиента есть сам большой java-аплет и на стороне сервера проще работает с java-библиотеками. Там для этого есть инструмент - Java Importer

3) используйте java-framework Oracle JDeveloper ADF.

4) используйте любой другой java-framework

Спасибо, все поняла.
...
Рейтинг: 0 / 0
18.05.2016, 14:36
    #39238280
Bolonat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
У меня есть опыт создания графических интерфейсов для мобильных устройств на java и отображения мнемосхем. Сейчас стоит задача в apex сделать графическое отображение меняющегося состояния неких приборов и контроллеров. Подразумевается отрисовка, анимация и т.д. Я думала, что смогу использовать свой опыт работы в java. Но теперь понимаю, что придется от этого отказаться. Тогда какие библиотеки посоветуете использовать для этой цели? jQuery? JavaScript? Ext JS? Очень бы хотелось использовать SVG. Это возможно? Если да, то как? В смысле, как интегрировать готовые SVG файлы в apex?
...
Рейтинг: 0 / 0
18.05.2016, 14:52
    #39238316
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
BolonatТогда какие библиотеки посоветуете использовать для этой цели? jQuery? JavaScript? Ext JS? Очень бы хотелось использовать SVG. Это возможно? Если да, то как? В смысле, как интегрировать готовые SVG файлы в apex?
рядом тема по JS. Логично?
Там профи по этому вопросу. Апекс вам не нужен. Он хорошо CRUD системы учётки делает - посчитал - записал.
Что вы так за апекс цепляетесь? Лень другой ЯП выучить?
...
Рейтинг: 0 / 0
18.05.2016, 14:53
    #39238318
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать метод java класса из javascript
Petro123рядом тема
упс, не тема а форум-ветка по JS
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как вызвать метод java класса из javascript / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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