[英]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.