|
记得书上和老师都说了,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可以返回任何类型
|
|