2012-03-22 5 views
0

Я пытаюсь установить игру онлайн-шашек, используя JSF2 на GlassFish 3, где вся логика игры позаботится EJB. вещь, которую я хочу, игрок. Дисплей платы обновляется после перемещения игрока B. после того, как игрок B закончил его/ее ход, я звонюКак использовать IcePush для обновления экрана клиента?

pushContext.push("groupName") 

на боб Кодекса (в то время как есть <icecore:push group="groupName" /> тег в коде XHTML) проблема (от того, что мне кажется) игрок А-х до сих пор не обновлялся с EJB, поэтому на дисплее ничего не обновляется. Дисплей доски игрока A обновляется только после того, как он/она завершил свой/ее ход (и в этот момент его код компонента запрашивает обновленную доску от EJB). Я думал, что нашел решение here. мой план состоит в том, чтобы установить JS-функцию внутри xhtml, с которой код компонента будет вызываться с использованием тега <icep:register>, и что функция JS вызовет функцию java внутри кода компонента, которая будет запрашивать обновленную доску из EJB, а затем будет обновлять дисплей.
Дело в том, что я не могу найти нигде, как реализовать любые теги «icep». когда я помещаю этот тег в свой код, я получаю ошибку компиляции. Что мне нужно добавить в мой проект, чтобы это работало? или есть совершенно другой (и лучший) подход для решения моей проблемы?

веселит, Эрез

+0

нашел ответ здесь - http://stackoverflow.com/a/5523717/1187088 – eRez

ответ

0

<icep:register> является частью интеграции ICEpush JSP, и просто предназначены для JSP-страниц, а не страниц JSF. Поэтому может возникнуть проблема, связанная с компиляцией. Вы можете использовать регистрацию javascript api. Но посмотрели ли вы на использование PortableRenderer? Если вы ejb в одном jvm, это может работать и быть намного проще для вас. Проверьте:

http://wiki.icesoft.org/display/ICE/Ajax+Push+-+APIs#AjaxPush-APIs-PushingfromoutsidetheJSFcontext

Спасибо, Филипп