日期:2014-05-17  浏览次数:20614 次

S2SH与jspsmart冲突?急!!!
原来有个项目,用jsp + tomvat5.5 + jdk1.5 + jdbc做的,字符集是gb2312,没有用什么框架,只是用jspsmart做文件上传。上传文件的jsp代码如下
Alter.jsp:
<form method="post" name="form1" action="AlterEnd.jsp" ENCTYPE="multipart/form-data">
<input type="file" name="file1" style="width:100%">

AlterEnd.jsp:
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
          mySmartUpload.initialize(pageContext);
          //mySmartUpload.setTotalMaxFileSize(5000000);
          mySmartUpload.setMaxFileSize(500*1024*1024);
           // Upload
          mySmartUpload.upload();
          Files file; //注意这里,后面在这里报错了
          com.jspsmart.upload.File f;
          file=mySmartUpload.getFiles();
          f=file.getFile(0);
%>

最近要增加新功能,就加入struts2、spring、heibernate框架,在web.xml中加入s2sh的配置。结果s2sh 可用了,原来的程序中jsp访问数据库啥的都没问题。唯独涉及文件上传时系统报错:

java.lang.IllegalArgumentException: Files' name is invalid or does not exist (1205).

在网上搜索一下,有人说页面缺少enctype="multipart/form-data",可我的jsp里已经加入这句话了。有人说在input file中加入name属性,我也有:<input type="file" name="file1" style="width:100%">

以前程序运行都是好的,说明代码没问题,就是加入s2sh框架后出错了。

现在原来程序中所有涉及文件上传的部分都不能用了。为什么?难道S2SH与jspsmart冲突?如果那样,除了重写所有上传文件的代码,还有什么办法吗?很着急!!

分不多了,抱歉!

------解决方案--------------------
是struts2把jspsmart过滤了