[短いバージョン説明]:ファイルのアップロード後にinputText
の値を更新する際に問題が発生します。アップロード前に他のinputText
要素がいっぱいになっていると動作しません。Primefaces:InputTextフィールドVALUESがFileUploadの後に更新されない
[LONG VERSION]:私は彼らの要素が更新された後(managedBeanに)inputText
フィールドの値を変更し、ファイルをアップロードした後、inputText
フィールドはその新しい値を仮定しない理由を理解する助けが必要。
ページが2つのフラグメント含む、フォームで構成されています
- 第一1、3つのinputTextフィールドを持っているが - inputText_A、inputText_BとinputText_C。
- 2番目のファイルには、FileUpload要素のみが含まれています。アップロードされたファイルは、上記のinputTextフィールドを埋めるために使用される値を含みます。
FileUpload
が正常に変更さは(()ファイルをアップロードした後にトリガされcategory.setName()とcategory.setValue)managedbeans変数の値を更新:私が見つけた何
。
update="fileUploadField inputTextFields"
が働いているような場合のいずれか(ゲッターが呼び出され、ファイルがアップロードされた後のフィールドが無効になっている)NOTEで
fields.xhtml
<p:fieldset id="inputTextFields" toggleable="true" toggleSpeed="150"
<p:inputText id="inputText_A"
value="#{uploaded.category.serial}"
disabled="#{details.disabled()}"
required="true"
requiredMessage="#{msg['uploaded.category.serial.empty']}"
onblur="deactivateCategoryListOrButton(); setChanged()">
</p:inputText>
<p:inputTextarea id="inputText_B"
value="#{uploaded.category.name}"
disabled="#{details.disabled()}"
required="true"
requiredMessage="#{msg['uploaded.category.name.empty']}"
autoResize="false" rows="4"
valueChangeListener="#{uploaded.fieldListener}"
onblur="deactivateCategoryListOrButton(); setChanged()">
</p:inputTextarea>
<p:inputTextarea id="inputText_C"
value="#{uploaded.category.value}"
disabled="#{details.disabled()}"
required="true"
requiredMessage="#{msg['uploaded.category.name.empty']}"
valueChangeListener="#{uploaded.fieldListener}"
onblur="deactivateCategoryListOrButton(); setChanged()">
</p:inputText>
</p:fieldset>
<p:fieldset id="fileUploadField" toggleable="true" toggleSpeed="150"
<h:panelGroup>
<p:fileUpload id="#{details.fileUploadCompIdRule}"
fileUploadListener="#{details.handleFileUpload}"
mode="advanced" allowTypes="/(\.|\/)(xml)$/"
label="#{msg['uploaded.category.button.browse']}"
multiple="false" auto="true"
update="fileUploadField inputTextFields"
disabled="#{details.categoryActive()}"
oncomplete="deactivateCategoryListOrButton(); setChanged()" />
</h:panelGroup>
</p:fieldset>
uploader.xhtmlありがとう! RMG
は'使用してみてください。 –
それは動作しませんでした。アップロード直後の両方の入力フィールドで、更新された値で更新が行われる必要があります。 – RmGZ
なぜ大文字のプロパティ名を使用していますか?例えば'#{uploaded.category.Serial}'であってはなりません。 –