public String execute() throws Exception {
request = (HttpServletRequest)ActionContext.getContext().get(StrutsStatics.HTTP_REQUEST);
DateFormat format = new SimpleDateFormat("yyyyMMdd");
String formatDate = format.format(new Date());
File file = new File(formatDate);
if (!file.exists()) {
file.mkdir();
}
String targetDirectory = ServletActionContext.getServletContext()
.getRealPath("/upload/" + file);
String targetFileName = generateFileName(excelFileName);
File target = new File(targetDirectory, targetFileName);
FileUtils.copyFile(excel, target);
request.setAttribute("excel", "/upload/" + file +"/"+ targetFileName);
String sss=request.getAttribute("excel").toString();
request.setAttribute("targetFileName", targetFileName);
return SUCCESS;
}
<action name="upload" class="com.whvcse.rk07hw.utils.UploadAction" >
    <result name="success" type="chain" >
    <param name="actionName">Excel</param>
    </result>
    </action>
    <action name="Excel" class="com.whvcse.rk07hw.utils.ExcelAction" >  
    <result name="success">/login.jsp</result>
    </action>
public String execute() throws Exception {
System.out.println("---------------------------------------------");
String  s = "";
try
{
s= request.getAttribute("targetFileName").toString();
}catch(Exception e)
{
e.printStackTrace();
}
System.out.println("-------------------"+s+"--------------------------");
File f = new File(s);   
       FileInputStream is = new FileInputStream(f);   
           
       System.out.println(f.getName());   
           
       read(is,false);  
return SUCCESS;
}

解决方案 »

  1.   

    解决办法: 
    修改<result type="redirect-action">index</result>为: 
    <result type="chain">index</result>即可; result type的类型说明如下: 
    Chain           : 用来处理Action链 
    Dispatcher      : 用来转向页面,通常处理JSP 
    FreeMarker      : 处理FreeMarker模板 
    HttpHeader      : 用来控制特殊的Http行为 
    Redirect        : 重定向到一个URL 
    Redirect-Action : 重定向到一个Action 
    Stream          : 向浏览器发送InputSream对象,通常用来处理文件下载 
    Velocity        :处理Velocity模板 
    XLS             :处理XML/XLST模板 
    PlainText       :显示原始文件内容,例如文件源代码 
    S2PLUGINS:Tiles : 结合Tile使用