我正在使用icefaces 3.我的问题是我有一个ace:fileEntry,它有一个fileEntryListener。我有一个h:commandButton,它在我的表单末尾设置了一个actionListener。当我点击我的commandButton时,我注意到只调用了按钮的actionListener,但是没有完全调用fileEntryListener。通过这个我的意思是文件被上传到临时位置,但我的实际代码不会被调用fileEntryListerner。 我在fileEntryListerner中编写了一个客户逻辑,将上传的文件复制到另一个位置,但这不起作用。以下是我的代码。任何人都可以解释为什么fileEntryListner代码不能完全正常工作。
<td>
<ace:fileEntry id="file-entry" label="Attachment"
absolutePath="/STR_UPLOADED_FILES"
maxFileCount="1"
maxFileCountMessage="Limited to 1 files uploaded concurrently."
fileEntryListener="#{strformbean.fileuploadListener}"
maxFileSize="6291456"
maxFileSizeMessage="Submitted file is too large.Max size allowed is 6MB"
maxTotalSize="6291456"
maxTotalSizeMessage="Total size of submitted files is too large."
required="false"
requiredMessage="The file is required to submit this form."
useOriginalFilename="false"
useSessionSubdir="false" />
</td>
<td colspan="2" class="sectionHeader" align="center">
<h:commandButton id="submitM" type="submit" value="SAVE" action="strform" actionListener="#{strformbean.saveSTR}"/>
</td>
public void fileuploadListener(FileEntryEvent e)throws Exception {
log.info("Inside fileuploadListener started....");
FileEntry fe = (FileEntry)e.getComponent();
FileEntryResults results = fe.getResults();
File parent = null;
ArrayList fileData = new ArrayList<String>
............
以上记录器信息行根本不打印,但文件已上传。
答案 0 :(得分:0)
尝试删除h commandButton上的操作和动作侦听器。希望这有效。
答案 1 :(得分:0)
Try using <h:form> instead of <ice:form> as your form tag
Also <h:commandButton> should not include "action" or "actionListener" attributes.