gpt4 book ai didi

java - 使用外部按钮丰富 :fileUpload

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:30:21 24 4
gpt4 key购买 nike

我正在使用组件 rich:fileUpload 将文件上传到我的服务器,问题是这些文件与用户填写的表单一起出现,所以我想使用一个外部按钮来执行此操作。

用户选择要上传的文件,填写表格,然后单击页面底部的“提交”按钮。这将使用表单上传文件。我试过这样:

我可以将按钮隐藏在 fileUpload 的面板内,这样用户就不会点击它。

    <rich:fileUpload id="fileUploadId"
style="width: 100%; height: 130px;"
fileUploadListener="#{documentsBean.listener}"
maxFilesQuantity="1"
uploadButtonClass="display-none"
uploadButtonClassDisabled="display-none">
</rich:fileUpload>

我用按钮尝试的是

<a4j: commandButton  id="uploadFormButton"
value="Attach"
onclick="#{rich:component('fileUploadId')}.submitForm();"
oncomplete="#{rich:component('fileUploadId')}.clear(); return false;"/>

但它不起作用。

最佳答案

我不知道是否有办法完全按照您的意愿行事,但这是您可以使用的另一种解决方案:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:st="http://spectotechnologies.com/jsf"
xmlns:t="http://myfaces.apache.org/tomahawk">

...

<h:form enctype="multipart/form-data">
... your fields ...

<t:inputFileUpload value="#{bean.document}" />

<h:commandButton value="Submit" actionListener="#{bean.onButtonSubmitClick}" />
</h:form>
</html>

和 bean :

@ManagedBean
@RequestScoped
public class Bean
{
private UploadedFile m_oDocument;

public void setDocument(UploadedFile p_oDocument)
{
m_oDocument = p_oDocument;
}

@UploadedFileNotEmpty
@UploadedFileSize(max="10000000")
@UploadedFileExtension(accept="doc,docx,pdf,txt,rtf,xls,xlsx,zip,rar,jpg,jpeg,jpe,bmp,gif,png,csv,ppt,pptx,odp,pic,odt,ods")
public UploadedFile getDocument()
{
return m_oDocument;
}

public void onButtonSubmitClick(ActionEvent p_oEvent)
{
...
}
}

希望这对您有所帮助!

关于java - 使用外部按钮丰富 :fileUpload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7627385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com