fileName=445.bmp">下载文件
3、struts.xml相关
--文件上传相关-->
fileUpload
success.jsp
---->
--文件下载相关-->
fileUpload
application/octet-stream
inputStream
--filename="${fileName}"中的fileName要与action中(页面)定义的相同-->
attachment;filename="${fileName}"
4096
4、在action中添加相应的方法
上传
/**
*文件上传
*/
privateFileupload;//与jsp表单中的名字相同
privateStringuploadContentType;//File对象属性名+ContentType
privateStringuploadFileName;//File对象属性名+FileName
//文件上传路径(getter方法中要返回绝对路径)
privateStringsavePath;
//文件上传方法
publicStringdoUpload()throwsIOException{
//接收上传文件保存路径字符串(绝对路径+“/”+……)
StringfileSavePath=getSavePath()+"/"+uploadFileName;
//如果想上传到指定路径的文件夹可以自定义如d:
//StringfileSavePath="d:
"+"/"+uploadFileName;
//将上传过来的文件封装成输入流
FileInputStreamfis=newFileInputStream(upload);
//将接收文件的字符串封装成输出流
FileOutputStreamfos=newFileOutputStream(fileSavePath);
//复制文件
IOUtils.copy(fis,fos);
//刷新操作
fos.flush();
//关闭资源
fis.close();
fos.close();
return"success";
}
//settergetter方法注意这个getSavePath方法返回值需要设置
publicStringgetSavePath(){
//得到绝对路径(服务器中的绝对路径)
returnServletActionContext.getServletContext().getRealPath(savePath);
}
下载
//实现文件下载
privateStringfileName;
privateInputStreaminputStream;
publicStringdownLoad(){
return"success";
}
//settergetter方法注意这个方法
publicInputStreamgetInputStream()throwsFileNotFoundException{
//得到路径(返回的是输入流)
returnnewBufferedInputStream(
newFileInputStream(getSavePath()+"/"+fileName)
);
}
jQuery常用插件
F:
\北大青鸟\学习资料\Struts&AJAX\5.第5章-Struts2与jQuery综合应用\Part1jQuery插件和easyUI
使用Json与jQuery实现Ajax
1、在XMl中设置action的返回数据
如果只想返回部分属性,则需要将param的name属性值设置为如图即可。
2、通过jQuery等来实现Ajax
Spring相关
1、写接口及实现类
eg:
publicclassUserServiceImplimplementsUserService{
//声明需要注入值的属性
//不new对象,由Spring容器调用set方法赋值
privateUserDaouserDao;
privateStringname;
添加settergetter方法
publicListgetAll(){
//TODOAuto-generatedmethodstub
System.out.println(name);
returnuserDao.getAll();
}
}
2、创建Xml配置文件注意路径(src下)\src\applicationContect.xml
—bean标签中id属性值随便写(一般写实现类的接口名);class属性为相应的实现类的全路径-->
--如果需要对bean中的属性注入值,就需要property标签-->
--propertyname属性的值为实现类中要注入值的属性名-->
--如果property中name是String等类型的话可以用value=赋值如果为对象类型的话,则要用ref赋值-->
--给userserviceImpl中的name属性赋值也可以在两个property中加value标签赋值-->
--也可以这样写admin-->
3、测试类
ApplicationContextac=newClassPathXmlApplicationContext("applicationContect.xml");
UserServiceus=(UserService)ac.getBean("userService");
Listlist=us.getAll();
System.out.println(list.get(0));