当前位置:编程学习 > JAVA >>

关于struts2上传问题

这是页面代码
 
<form action="stuBatchAdd" method="post"  enctype="multipart/form-data">
    选择要导入的excel文件:<input type="file"  name="upload"/><br/>
    <input type="submit" value="导入" />      
</form>
  

这是action代码
public class StuDealAction extends ActionSupport {
private File upload;//文件域
private String uploadContentType; //文件类型
private String uploadFileName; //文件名
        //提供set和get方法 ,代码就没复制过来了
        //...

       public String batchAdd() throws Exception{
BufferedOutputStream bos =null;
BufferedInputStream bis  =null;
System.out.println("myFile="+upload);//控制台有打出myFile=F:\tomacat\installation\work\Catalina\localhost\pct\upload__54309558_13eb5bb5c84__8000_00000000.tmp
System.out.println("myFileFileName="+uploadFileName);//这里控制台打出的为null,也是没有拿到值
System.out.println("myFileContentType="+uploadContentType);//这里同样也为空。我去指定的地方找有一个null的文件,打开确实是我要上传的文件,但是现在就是这2个内容为空,不知道怎么回事。
FileInputStream fis =new FileInputStream(upload);
bis=new BufferedInputStream(fis);
String s="d:/temp/"+uploadFileName;
System.out.println("s="+s);
FileOutputStream fos=new FileOutputStream(s);
bos=new BufferedOutputStream(fos);
byte[] buf =new byte[4096];
int len=-1;
while((len=bis.read(buf))!= -1)
{
 bos.write(buf, 0, len);
}
bos.flush();
return SUCCESS;
}


struts.xml代码
<action name="stuBatchAdd" class="com.ccsu.cxl.action.StuDealAction" method="batchAdd">
     <interceptor-ref name="fileUpload">
            <param name="fileUpload.maximumSize">10240000</param>
     
     </interceptor-ref>
     <interceptor-ref name="defaultStack"></interceptor-ref>
 <result name="success">/success.jsp</result>
 <result name="error">/hello.jsp</result>
</action>




谁能告诉我为什么那上面2个文件名和文件类型取得为空?求解。。。在线等。。。
   Struts 上传 Java --------------------编程问答-------------------- 应该没错。
还是发一个set和get方法吧 --------------------编程问答--------------------
引用 1 楼 AA5279AA 的回复:
应该没错。
还是发一个set和get方法吧

 
有个班级表
create table Classes(claID varchar(20) primary key)

有个学生表
create table Student(id varchar(20) primary key ,claID varchar(20) not null, foreign key(claID) references Classes(claID))

班级表的主键班级编号是学生表的外键。。

配hibenate时要怎么配置?


--------------------编程问答-------------------- 在这两个实体类相应的配置文件中配置 one-many  与  many-one --------------------编程问答--------------------
引用 3 楼 Shan_mei 的回复:
在这两个实体类相应的配置文件中配置 one-many  与  many-one

我也知道是这样的,我在多端的表中加了个many-one,但是不对阿
可以贴点代码出来么 --------------------编程问答--------------------
引用 4 楼 u010708366 的回复:
Quote: 引用 3 楼 Shan_mei 的回复:

在这两个实体类相应的配置文件中配置 one-many  与  many-one

我也知道是这样的,我在多端的表中加了个many-one,但是不对阿
可以贴点代码出来么


在少的那端要加 one-many的, 如果没记错的话 --------------------编程问答-------------------- <many-to-one name="customer" class="org.myhibernate.Customer"

column="cid" >

</many-to-one>





<set name="orders" table="order" cascade="all">

<key column="cid"></key>

<one-to-many class="org.myhibernate.Order" />

</set>
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,