2009-05-05 3 views
1

Я создаю веб-приложение с JSF и ICEFaces. Теперь я интегрировал Java-апплет в одну из JSF-страниц.Как передавать данные из JSF в Java-апплет

Вопрос в том, как я могу передать информацию, хранящуюся в бэкбоне, в апплет? Я не думаю, что я получил двунаправленную связь. Я собираю данные с использованием компонентов ввода ICEFaces. Например, нажатие кнопки приводит к тому, что апплет перезагружается вновь собранными данными.

Благодаря

+0

Как вам удалось интегрировать апплет в страницу, образованную JSF ?. Я искал его, но я не мог найти правильный способ сделать это. –

ответ

1

Ну в конце концов, я думаю, ваш апплет должен представлять какой-то точки зрения вашей модели. Таким образом, в контексте MVC ваш JSF будет вашим представлением/контролем, и у вас будет какая-то бэкэнд-модель. Ваш апплет - еще один взгляд на эту модель, поэтому у вас должен быть ваш апплет как наблюдатель или слушатель на вашей модели, и когда JSF вносит изменения в модель, вы должны запустить наблюдателя событий/уведомлений, представляющих изменение модели.

+0

Спасибо за ответ, но это не решает мою проблему. В вашем сценарии мне нужно будет получить информацию от JSF/Backing Bean к апплету. Это точно то, что я не знаю, как это сделать ... – Toby

+0

Вы можете сделать это через соединение RMI. Но, как вы сами предлагаете, это также можно сделать, нажав кнопку, поскольку общедоступные методы классов, наследующих JApplet, доступны через javascript. Вам просто нужно найти элемент DOM, содержащий ваш апплет, а затем вызвать метод для его обновления. Например. document.MyApplet.refresh() –

1

Что-то вроде следующего в вашем теге Applet?

<param name="welcomeMessage" value="<h:outputText value="#welcomeMessage"/>"> 

(простите любые неточности JSF)

И затем использовать getParameter как обычно внутри апплета.