Struts2上传文件问题若干
2015-08-29 22:14
387 查看
最近在自学SSH框架,本来以为Struts2中的上传很简单,结果,花了一晚上才弄出来。
一直有两个问题,一个是
No result defined for action XXX and result input
这个问题引起的原因有很多,在我这里的情况是,上传的form表单默认的是文本数据,只要加入
就好了。
另外一个问题是一直获取不到String filename,但是File file却可以获取,看了好多的实例,才发现是不仔细的问题。
除了第一个File类型的字段的set方法还是以常规的方式命名,另两个String类型的字段的set方法必须分别以“File字段的set方法名+FileName”和“File字段的set方法名+ContentType”来命名。
所以,在方法里面应该写成
另外,上传为文件名为中文的时候,保存的文件会乱码,这个问题只要把页面和struts.xml的编码都设为GBK就好了。
一直有两个问题,一个是
No result defined for action XXX and result input
这个问题引起的原因有很多,在我这里的情况是,上传的form表单默认的是文本数据,只要加入
enctype="multipart/form-data"
就好了。
另外一个问题是一直获取不到String filename,但是File file却可以获取,看了好多的实例,才发现是不仔细的问题。
除了第一个File类型的字段的set方法还是以常规的方式命名,另两个String类型的字段的set方法必须分别以“File字段的set方法名+FileName”和“File字段的set方法名+ContentType”来命名。
所以,在方法里面应该写成
// 封装上传文件域的属性 private File bookFile; // 封装上传文件类型的属性 private String contentType; // 封装上传文件名的属性 private String fileName; public void setBookFile(File bookFile) { this.bookFile = bookFile; } public void setBookFileContentType(String contentType) { this.contentType = contentType; } public void setBookFileFileName(String fileName) { this.fileName = fileName; }
另外,上传为文件名为中文的时候,保存的文件会乱码,这个问题只要把页面和struts.xml的编码都设为GBK就好了。
<constant name="struts.i18n.encoding" value="GBK"/>
相关文章推荐
- Java进程的创建
- Java关键字final、static使用总结
- Java集合概述Set、List、Map
- 黑马程序员--Java_JDK新特性
- JAVA中常见容器类总结
- 【Java】Hello World
- Spring MVC Velocity模板引擎
- java注解(Annotation)解析
- 总结一下今天回顾的JavaIO的一些基本内容
- java下载文件代码
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
- eclipse在资源管理器中打开文件
- 初识JAVA5(线程)
- Spring框架简介和初次框架配置
- Spring笔记——Spring框架简介和初次框架配置
- 初识JAVA4(抽象类、接口、多态)
- java按指定编码写入和读取文件内容的类
- Struts1.x 总结(很全面)
- 初识JAVA3(重载、单子模式)
- Java中的异常(2)