|
|
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
Как с помощю JаvaScript достучатся до Java-бина у JSF, вытянуть даные из бина в скрипт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 18:53:24 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
Постановка задачи неправильная, что именно нужно сделать? Попутно - какая версия JSF? какие либы используются (richfaces primefaces icefaces) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 19:36:10 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
Вобщем должна бить некая схема, которая отображает состояние процеса, например если в базе прописано что "двери открыты", то SVG картинка должна мне это показать, изменой цвета например. Так вот, с помощю JavaScript я могу достучатся до любого елемента в DOM-дерева SVG-картинки, и изменить любые параметры, цвет, координаты, с помощю функцыи "setattribute" в JavaScript. Ну а как загнать дание в setattribute из бина??? JSF 2.0, PrimeFaces. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 18:50:29 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
Вобщем это должно быть что-то АСУТП, scada, или как там ее... З ядром проблем нет, дание собираем из весех датчиков, пишем в БД или виводим на XHTML-страницы ввиде цыфр, но картинкой то лучше будет... Вот и думаем как зделать. Только чтоб без апплетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 18:59:04 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
fender989100, Теоретически, можно сделать вывод из бина-состояния в поле hidden, а из него при помощи JavaScript делать то, что хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 21:58:50 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
забыл ник, http://stackoverflow.com/questions/5997885/accessing-javascript-variables-from-jsf] Accessing Javascript variables from JSF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2012, 23:55:48 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
fender989100Вобщем должна бить некая схема, которая отображает состояние процеса, например если в базе прописано что "двери открыты", то SVG картинка должна мне это показать, изменой цвета например. Так вот, с помощю JavaScript я могу достучатся до любого елемента в DOM-дерева SVG-картинки, и изменить любые параметры, цвет, координаты, с помощю функцыи "setattribute" в JavaScript. Ну а как загнать дание в setattribute из бина??? JSF 2.0, PrimeFaces. Вы должны понять одну простую вещь, javascript - выполняется на клиенте, jsf - на сервере, то есть постановка "вытянуть даные из бина в скрипт? " -некорректна. А вот то что вы описали задачу, это хорошо, так как она просто решается с помощью ajax. Смысл в чем, вы в любой момент времени можете послать запрос на сервер и указать jsf какой метод выполнить(ну допустим проверить изменение вашей двери, далее в зависимости от результата вы можете отрендерить на стороне сервера некий кусок страницы, допустим <div id="update" rendered="#{isDoorStateChanged}"> //..Тут вы можете сгенерировать любой javascript callback, причем используя EL-syntax Например <script> updateUI('#{doorState}'); </script> /// Функция updateUI - javascriptовая, и должна быть определена на странице к моменту, когда произойдет ваш ajax запрос и должна понимать что делать с DOM деревом. </div> и вернуть этот HTML, а можно прямо и JSON, когда ajax запрос вернет респонс, сработает onSuccess хандлер(javascript функция), и вы можете сделать все что хотите - например, просто заменить старый HTML на новый, или если нужна более кастомная обработка - обработать JSON так как вам надо. Обращаю внимание, что на клиент уже вернется чистый HTML без EL, допустим вот такой - <div id="update"> <script> updateUI('opened'); </script> </div> Тут опять же есть тонкость - как оптимально получать обновления - в режиме реального времени или по интервалу. Можно посылать ajax запрос с определенным интервалом, так называемый поллинг, а можно реагировать на изменение состояния на сервере. Второй случай - вам надо смотреть на WebSockets, и JSF в таком случае вообще довольно таки ортогонально, в первом - вы можете воспользоваться неким компонентом, например в RichFaces это <a4j:poll interval="" actionListener="#{action..}" render="update">, который возьмет большинство рутинных операций на себя, скорее всего нечто подобное есть и в primeFaces, я просто не шибко с ними знаком, или написать свой с использованием setTimeout. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 14:52:07 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
ivanov-voidзабыл ник, http://stackoverflow.com/questions/5997885/accessing-javascript-variables-from-jsf] Accessing Javascript variables from JSF Ну а я что говорю? типичный образчик непонимания технологий и некорректно сформулированного вопроса, правда в том треде человек просто неудачно выразил свой вопрос, но задачу описал правильно, за что и был вознагражден быстрым и точным ответом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 14:54:07 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
Зделал вобщем через скритие поля на xhtml, они обновляются раз в секунду primefices-элементом poll, а з низ JS берет все то что ему нужно и изменяет SVG. Вроде работат все нормально) а то в меня было что от всего этого браузер розростался к 1000 г в оперативке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 11:22:48 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
Не хочется продить темы, тож задам вопрос по primefaces здесь. Есть елемент datatable, который в общем рисует таблицы пример , там как видете есть такая серенькая рамка. Вот в меня в Опере она не отображается, а если навести мышку на таблыцу, рамка появляется. В остальных браузарех все нормально. Опера 11.64. Может кто-то сталкивался с подобным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 12:01:51 |
|
||
|
JаvaScript+JSF
|
|||
|---|---|---|---|
|
#18+
denis11111Зделал вобщем через скритие поля на xhtml, они обновляются раз в секунду primefices-элементом poll, а з низ JS берет все то что ему нужно и изменяет SVG. Вроде работат все нормально) а то в меня было что от всего этого браузер розростался к 1000 г в оперативке. Ну 1000 ИМХО слишком маленький интервал, хотя если таковы требования приложения, и количество юзеров небольшое - то все ок. А браузер возможно разрастался из-за того, что сборщик мусора для javascript несовершенен, или у вас где-то утечка, например в замыканиях сохраняете listener или DOM-элемент. Есть неплохте тулзы для мониторинга утечек памяти javascript. Мне в свое время очень помогала http://home.orange.nl/jsrosman/ - для IE denis11111Не хочется продить темы, тож задам вопрос по primefaces здесь. Есть елемент datatable, который в общем рисует таблицы пример, там как видете есть такая серенькая рамка. Вот в меня в Опере она не отображается, а если навести мышку на таблыцу, рамка появляется. В остальных браузарех все нормально. Опера 11.64. Может кто-то сталкивался с подобным? Ну у меня давно сложилось впечатление что primefaces довольно неопрятно сделали(в смысле кроссбраузерности). Вы искали в их багтрекере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 12:42:47 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37794479&tid=2131798]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 330ms |
| total: | 455ms |

| 0 / 0 |
