簡體   English   中英

使用ajax在同一頁面上struts2文件上傳成功消息

[英]struts2 file upload success message on same page using ajax

我正在上載.csv文件並在同一頁面上重定向,我想在同一頁面上將顯示文件成功上載消息。我不想使用ajax發送請求。我對struts框架是陌生的文件上傳教程,但每個人都重定向到另一個頁面並在其中顯示消息。

上傳后(如果發生錯誤),請分派來自您的同一頁面:

在struts.xml

    <action name="uploadPage" class="foo.bar.UploadAction">
        <result>/upload.jsp</result>
        <result name="input">/upload.jsp</result>
        <result name="error">/upload.jsp</result>
    </action>
    <action name="doUpload"   class="foo.bar.UploadAction" method="upload">
        <result>/upload.jsp</result>
        <result name="input">/upload.jsp</result>
        <result name="error">/upload.jsp</result>
    </action>

UploadAction

    public class UploadAction extends ActionSupport {       
        File   upload;
        String uploadFileName;
        String uploadContentType;       
        /* Getters and Setters for the above properties */

        public String execute() {
            return SUCCESS;
        }

        public String upload(){             
            try {
                getService().upload(upload,uploadFileName,uploadContentType);
                addActionMessage("Upload successfully completed");
                return SUCCESS;
            } catch (Exception e){
                addActionError("Error while uploading: " + e.getMessage());
                return ERROR;
            }
        }
    }

upload.jsp

<body>
    <s:if test="hasActionErrors()">
        <s:actionerror />
    </s:if>
    <s:if test="hasActionMessages()">
        <s:actionmessage />    
    </s:if>

    <s:form action="doUpload" enctype="multipart/form-data">
        <s:file name="upload" />
        <s:submit />
    <s:form>
</body>

這是基本的操作,然后您可能想要更改URL或使用Post Redirect Get或Tokens等。以防止用戶在刷新時重新提交文件。

使用以下命令在您的操作中設置ActionError(如果文件不符合您的條件)

     addActionError("file not uploaded something went wrong");

否則設置動作消息

     addActionMessage("Upload successfully completed");

jsp頁面。

<body>
    <s:actionerror />
    <s:actionmessage />    

 <s:form action="uploadAction" >
    <s:file name="filename" /> 
    <s:submit />
 <s:form>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM