记得书上和老师都说了,struts2的action的方法有几个规则: public InputStream getDocumentInputStrame() throws FileNotFoundException{ String downFilePathServletActionContext.getServletContext() .getRealPath("/");//文件路径 downloadFileName=tenderfile.getFilename();//文件名称 downloadFileName=this.getFileEcodingName(downloadFileName);//调用action的方法传入参数,对文件名称进行编码解码。 StringBuffer sb=new StringBuffer(); sb.append(downFilePath).append(downloadFileName); File file=new File(sb.toString()); InputStream in=new FileInputStream(file); return in;//返回输入流 } 这里就是struts2文件下载的代码.下面是上面调用的getFileEcodingName()方法: public String getFileEcodingName(String downloadFileName) { try { downloadFileName=new String(downloadFileName.getBytes(),"ISO-8859-1"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return downloadFileName; } 我的action extends ActionSupport。 |
|
5分 |
老师说的是execute方法的返回值只能为String吧。
|
10分 |
execute 方法返回String ,根据返回最后跳转,当然 strtus2 可以添加自己的方法/
|
10分 |
|
我猜也是这样。真是郁闷啊!估计被人鄙视了一顿!呵呵 |
|
有人在吗?求各种真理!各种各种真理啊!
|
|
10分 |
普通方法也只能返回String类型
|
那那上面代码如何解释!晕了晕了 到底是怎么样的….. |
|
这个贴就这么沉了啊!
|
|
5分 |
哈哈,我也觉得面试官问的是返回值类型。。
|
单说你这个下载demo的话,我觉得不冲突吧,Struts2的拦截器吧
|
|
理论上说Struts 2 Action可以返回任何类型
|