使用ajax在struts2中上传文件

时间:2011-03-11 07:47:08

标签: ajax struts2

如何使用ajax

在struts 2中上传文件

2 个答案:

答案 0 :(得分:9)

下载Struts2 jQuery Plugin,就像通常使用Struts2一样。

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head/>
  </head>
  <body>
    <s:form id="form" action="AjaxTest">
      <s:file name="myFile" ... />
      <sj:submit value="Submit Form" targets="myAjaxTarget"/>
    </s:form>
    <div id="myAjaxTarget">
    </div>
  </body>
</html>

答案 1 :(得分:7)

如果要将json数据返回给客户端,可能会出现文件下载对话框出现的错误,即将json作为文本文件下载。我使用struts2-json插件来修复此错误,只需将以下配置添加到struts.xml中的操作

<param name="contentType">text/plain</param>

我的样本

        <action name="uploadFile" class="fileUploadAction">
            <interceptor-ref name="fileUploadStack"/>
            <result name="input">/WEB-INF/pages/uploadForm.jsp</result>
            <result name="success" type="json">
                 <param name="excludeProperties">
                         fileStoreManager, file
                 </param>
                 <param name="contentType">text/plain</param>
            </result>
            <result name="cancel" type="redirectAction">mainMenu</result>
        </action>