用struts2+ext开发上传模块,上传文件成功,但总是在浏览器中有提示“下载”……
而且发现前台的success和failure都没有执行到,打印json串一切正常……
这就奇怪了~~~上网找原因……发现好多人遇到这种问题,按网上的说法一步一步的试,首先是在struts配置文件中加入:
<param name="contentType">text/html</param>
还是没解决掉……
换个方式,在action中直接写:
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
试了下,还是不行……
还有说把struts配置文件中的:<result type="json">中的json改为XXX的……没有去尝试!
说正题,解决方式~
经过无数次的尝试后发现,其实只要将Action中的返回值从SUCCESS改为NONE,并写……
public String execute() throws IOException{
*******略******最后加上以下部分,struts配置文件正常,也不用配置text/html
,完全没有下载提示了……(不加入这个可能后续会有问题,暂时没涉及呢,涉及了再说……)
HttpServletResponse response = ServletActionContext.getResponse();
String msg = "{success:true}";
response.getWriter().print(msg);
return NONE;
}
到现在为止,下载问题应该不会再出现了……
谁能有更好的解决方式麻烦告诉我一下……