Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > (jsf + a4j) как сделать reRender перед action?


Автор: nitzshe 17.3.2010, 13:24
Здравствуйте.

у меня есть кнопка:

Код

<a4j:commandButton id="sendButton"
    reRender="sendButton"
    action="#{search.checkSelection}"
    type="button" 
    value="Send"
    rendered="#{security:ifAnyGranted('admin')}" 
    styleClass="rich-button button_110" 
    onclick="JavaScript:checkSomething();"
    oncomplete="popupWin = window.open('/editor/edit.xhtml', '', ''); popupWin.focus();" >

<a4j:actionparam name="sP" value="#{search.selectedPlayers}" assignTo="#{editor.selectedPlayers}"/>

</a4j:commandButton>


По какой-то причине ререндер происходит только после окончания действия. 
То есть при первоначальном нажатии на кнопку данные в assignTo объект уходят старые. При повторном нажатии на кнопку приходят нужные данные, но нужно чтобы при первом нажатии сначала прошел ререндер, а уже потом отправка новых данных.

Никто не знает как это реализовать?


То есть если я рядом вешаю еще одну кнопку, которая делает только reRender для sendButton, а затем нажимаю уже sendButton то данные приходят нужные.

Автор: nitzshe 17.3.2010, 16:38
В общем, ничего не придумал путнего, написал синглтон для хранения промежуточных данных между двумя бинами, который дергается по параметру в гет запросе.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)