今天在做一个应用,想要获取file框里面的文件路径,因为不需要对提交的文件进行保存之类的操作,只要获取文件路径就行了。开始是按以前的一般做法:使用enctype="multipart/form-data"格式的form。然后在Struts里面通过httpServletRequest对象把<input type="file" name="importFile"/>里面的importFile的值提取出来:String path = httpServletRequest.getParameter("importFile");不过怎么都会出错。
后来我测试输出path发现总为null,试了几次后才开始仔细分析,经分析后发现
enctype="multipart/form-data">在form中加了这个属性,那form中的内容不都能用request提取了,再次修改jsp页面,我直接把enctype="multipart/form-data">去掉,换回一般的form设置,再次提交文件,终于可以输出path了。
ps:这个解决方法只适用于仅提取file的值而不进行文件存放操作,否则就使用fileupload等文件上传组件来实现吧