使用AJAX而不是表单提交上传文件

时间:2013-04-18 05:57:21

标签: java jsf-2 richfaces

我正在尝试使用rich:fileUpload控件上传文件,我也能成功完成。我在这里遇到的唯一问题是,当我点击文件上传控件中的上传按钮时,页面会被提交,我试图避免。

我想要做的是,只要单击上传按钮,就会调用监听器来执行必要的后端操作。并且刷新该部分以显示图片。一切运行正常,但我想通过AJAX进行文件上传。

我正在使用Richfaces 4.1

<rich:fileUpload addLabel="Add photo" clearAllLabel="Clear All" clearLabel="Clear"
    deleteLabel="Remove" doneLabel="Upload successful!"
    uploadLabel="Upload profile pic"
    fileUploadListener="#{studentProfile.fileUploadListener}"
    acceptedTypes="jpg, gif, png, bmp" noDuplicate="true" immediateUpload="false">
    <!-- <a4j:ajax event="uploadcomplete" render="validationButton"/> -->
    <!-- <a4j:ajax event="clear" listener="#{uploadBean.doClearFilesList}" render="validationButton"/> -->
            <a4j:ajax event="uploadcomplete" render="profilepic" immediate="true" />
</rich:fileUpload>



<a4j:outputPanel ajaxRendered="true" id="profilepic">
        <rich:panel header="Profile Picture" style="width: 100px;height: 100px">
    <h:graphicImage url="#{studentProfile.profilePictureURL}" width="100" height="100" />
        </rich:panel>
</a4j:outputPanel>

1 个答案:

答案 0 :(得分:0)

也使用h:commandlink定位iframe名称,然后on