Проблема У меня есть Richtable с прослушивателем выборки строк в моем приложении, а fileupload находится в другом файле jsf, назовем его fileUpload.jsf
<f:view>
<af:document >
<af:form usesUpload="true" id="f1">
<af:inputFile id="fileHolder"
label="Choose File"
simple="true"
binding="#{backingbean.fileHolder}"/>
<af:commandButton id="okBtn"
text="OK"
action="#{backingBean.okAction}"
partialSubmit="true"/>
<af:commandButton id="cancelBtn"
text="Cancel"
action="#{backingBean.cancelAction}"
partialSubmit="true"/>
</af:form>
</af:document>
</f:view>
КогдаЯ открываю диалоговое окно загрузки файла из веб-браузера и выполняю действие «Отмена» или «Ок» или даже закрываю диалоговое окно, используя «X», после чего диалоговое окно загрузки файла закрывается. События выбора RichTable Row всегда возвращают последнюю выбранную строку и не обновляются каждый раз, когда я выбираю другую строку. Я использовал richTable.getSelectedRowData () , а также пробовал richTable.getSelectedRowKeys () .
Некоторые вещи, которые я заметил, были в методе processSelection RowSelectionListener, который я реализовал из SelectionListener .
SelectionEvent имеет правильные _oldValue и _newValue также selectionEvent.getAddedSet () возвращает правильные значения, но по какой-то причинеrichTable.getSelectedRowData () и richTable.getSelectedRowKeys () всегда возвращают одни и те же значения до открытия диалога загрузки.
Некоторые вещи, которые я пробовал, были. В fileUpload.jsf я пытался удалить af: form . В этом случае, когда я открываю диалог загрузки и закрываю диалог с помощью «X». События выбора строк работают отлично, но кнопки «ОК» и «Отмена» не работают.
Я также попытался изменить af: форму на af: подчиненную форму , но все ещеКнопки «ОК» и «Отмена» не работают.
Может кто-нибудь помочь мне с тем, что я могу сделать, чтобы исправить эту странную проблему.