0
我在ui:repeat
中嘗試使用p:fileUpload
時遇到問題。用戶選擇他是否想上傳文件,或者他選擇selectOneMenu
中的實體。我的陣列的吸氣劑或二載體似乎也沒有被調用。u:中的多個p:fileUpload:重複
<ui:repeat value="#{adminCreateTeam.teamComposition}" varStatus="status">
<h:panelGroup rendered="#{ (adminCreateTeam.memNew[status.index].booleanValue())}">
<!-- create new user -->
...
<!-- image associated with the user -->
<p:fileUpload
value="#{adminCreateTeam.memPics[status.index]}"
fileLimit="1"
mode="simple"/>
</h:panelGroup>
</ui:repeat>
我試圖與一個陣列和用於memPics
一個ArrayList,在這兩種情況下,這些的getter和setter未調用。但是,當使用ArrayList時,如果我不把它放在它的空值,我會有一個indexOutOfBondException
。所以我預先填充空值。我不理解,因爲無論是制定者,也不是吸被稱爲..
所以mempics:
private List<UploadedFile> memPics;
@PostConstruct
public void init() {
teamComposition = new User[5];
memPics = new ArrayList<UploadedFile>();
memPics.add(null);
memPics.add(null);
memPics.add(null);
memPics.add(null);
memPics.add(null);
}
如何觸發上傳文件的操作?如果你不小心忘記了,那麼''p:fileUpload>'with'mode =「simple」'就可以工作,所以''ajax'與命令組件相關的觸發動作需要被禁用。 – Tiny
@BalusC請問您可以展開「更好地將模型包裹在真實模型對象中,而不是依賴循環索引」嗎?我發現我的代碼也不好,但我沒有真正的答案。抱歉沒有指定我的版本,我認爲PF 5.2是最新的。 – Ced
@Tiny謝謝它現在的作品,我通常使用高級模式,這就是爲什麼我沒有捕捉到。請將其張貼爲答案,以便我可以接受它。當談到問題在評論中得到回答時,我有點強迫症。 :p – Ced