У меня есть форма, в которой у меня есть 3 поля ввода и одно af: inputFile, где мне нужно загрузить файл и окончательное сохранение. Я не могу использовать valueChangeEvent для inputFile, потому что, если я использую ResetUtils, я не получу входные значения формы. При сохранении все работает нормально, но когда я снова добавляю запись, последний обновленный файл все еще отображается во входном файле (он не сбрасывается). После сохранения, если я устанавливаю привязку входного файла к нулю, затем выполняю частичный триггер для компонента, используя привязку его загрузки страницы, для сохранения которой требуется огромное время, поэтому я не могу ее использовать.
Вот мой код
<af:panelFormLayout id="pfl1" rows="3">
<af:inputText value="#{bindings.Title.inputValue}" label="#{bindings.Title.hints.label}"
required="#{bindings.Title.hints.mandatory}"
columns="#{bindings.Title.hints.displayWidth}"
maximumLength="#{bindings.Title.hints.precision}"
shortDesc="#{bindings.Title.hints.tooltip}" id="it1" contentStyle="width:150px">
<f:validator binding="#{bindings.Title.validator}"/>
</af:inputText>
<af:panelGroupLayout id="pgl350" layout="horizontal">
<af:inputFile label="Select" id="if51" value="#{ContractDocumentUploadDwn.file}"
showRequired="true" binding="#{ContractDocumentUploadDwn.inputFileBinding}"/>
<af:button text="Upload" id="b353" action="#{ContractDocumentUploadDwn.uploadPortfolioDoc}"/>
</af:panelGroupLayout>
</af:panelFormLayout>
Java-код:
public void savePortfolioDoc(ActionEvent actionEvent) {
// Add event code here...
DCIteratorBinding iter = getDCIteratorBinding("portfolioDocument1Iterator");
UploadedFile myfile = (UploadedFile) this.getInputFileBinding().getValue();
String binding = "Commit1";
String popUpId = "p2";
genericSaveDocuments(actionEvent, iter, myfile, binding, popUpId, "Portfolio");//Saves the document
iter.executeQuery();
iter.refresh(1);
setInputFileBinding(null);
ResetUtils.reset(actionEvent.getComponent());
}
<af:<panelFormLayout
, это неправильный синтаксис. Возможно, поэтому он не работает так, как ожидалось. - person bobbel   schedule 21.01.2016panelFormLayout
, чтобы сделать видимыми изменения в bean-компоненте. - person Nagh   schedule 22.01.2016