JSF, ajax
От: vlad_nal  
Дата: 11.10.13 10:46
Оценка:
Здравствуйте !
Посоветуйте, плиз, куда "копать" ?

Вводная часть :
есть форма , на ней поля :
<h:outputText value="#{firmsBean.firms.name}" />
<h:inputText value="#{docEditBean.doc.cliFrom.name}" onblur="firnExist(this.value, '');"/>

к этому полю привязан ajax запрос :
<a4j:jsFunction name="firnExist" action="#{docEditBean.setValClientFrom()}" render="GeditFirm,SelectFForm,FirmEditForm">
<a4j:param name="param1" assignTo="#{firmsBean.FName}" />
<a4j:param name="param2" assignTo="#{firmsBean.FInn}" />
</a4j:jsFunction>
запрос смотри есть ли такая фирма и в бинах выставляет нужные поля, если есть.
В том числе поля: docEditBean.doc.cliFrom.name и firmsBean.firms.name

docEditBean и firmsBean — имеют @ViewScoped
на форме стоят rich:validator

Теперь собственно описание проблемы :
ДО того как на форме происходит первый раз submit, ВСЕ работает идеально !
ввожу название фирмы, срабатывает ajax, обновляется поля h:outputText и h:inputText, все ок!

КАК ТОЛЬКО пытаюсь сделать submit и он не проходит (не пускают валидаторы, остальных полей формы, но это правильно, я именно эту ситуацию и тестирую ! ) :
Поле <h:outputText value="#{firmsBean.firms.name}" /> — по прежнему нормально обновляется
а поле <h:inputText value="#{docEditBean.doc.cliFrom.name}" — восстанавливает прежнее значение !
причем в bean-е значение docEditBean.doc.cliFrom.name — новое !

Я так подозреваю что это связанно с @ViewScoped бинов. Происходит какое то восстановление состояния.
Или я ошибаюсь ?
Подскажите куда "копать" ? где посмотреть и как понять что происходит ?
Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.