- package ks.action;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.UUID;
- import ks.bean.KsjbbBean;
- import ks.bean.SjBean;
- import ks.dao.Ksdao;
- import ks.dao.SjDao;
- import org.apache.struts2.ServletActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- public class KsAction extends ActionSupport {
- private KsjbbBean ksjbbbean;
- private int id;// 考试id
- private List<File> shijuan;// 考试试卷附件
- private List<String> shijuanContentType;// 文件类型
- private List<String> shijuanFileName;// 文件名
- private String savePath;// 保存文件路径
- public String execute() throws Exception {
- return SUCCESS;
- }
- /*******************************************************
- * 添加考试信息
- *
- * @return
- */
- public String addks() {
- List<SjBean> sjbeans = null;
- Ksdao ksdao = new Ksdao();
- ksdao.addkssub(ksjbbbean);
- if (getShijuan() != null) {
- SjDao sjdao = new SjDao();
- sjbeans = getSjbean(shijuanFileName);
- for (SjBean bean : sjbeans) {
- System.out.println("添加试卷");
- sjdao.addSj(bean);
- }
- System.out.println("文件上传");
- try {
- uploadFile(sjbeans);
- } catch (IOException e) {
- SysTool.out.println("文件上传异常");
- e.printStackTrace();
- }
- }
- return SUCCESS;
- }
- /***************************************************************************
- * 根据试卷文件名list,转换试卷bean
- *
- * @param shijuan
- * @return
- */
- private List<SjBean> getSjbean(List<String> shijuanFileName) {
- List<SjBean> sjbeans = new ArrayList<SjBean>();
- String code = null;
- // for(Iterator iter = shijuanFileName.iterator(); iter.hasNext();){
- for (int i = 0; i < shijuanFileName.size(); i++) {
- SjBean bean = new SjBean();
- code = UUID.randomUUID().toString()
- + shijuanFileName.get(i).substring(
- shijuanFileName.get(i).lastIndexOf("."));
- bean.setSj_code(code);
- bean.setSj_name(shijuanFileName.get(i));
- sjbeans.add(bean);
- }
- return sjbeans;
- }
- /***************************************************************************
- * 删除考试记录 ksdel
- *
- * @return
- */
- public String ksdel() {
- Ksdao ksdao = new Ksdao();
- ksdao.delks(id);
- return SUCCESS;
- }
- /***************************************************************************
- * 修改考试。
- *
- * @return
- */
- public String ksupdate() {
- // System.out.print("修改类");
- ksjbbbean = new KsjbbBean();
- Ksdao ksdao = new Ksdao();
- ksjbbbean = ksdao.viewks(id);
- return SUCCESS;
- }
- /***************************************************************************
- * 修改考试bean
- *
- * @return
- */
- public String ksUpdateSub() {
- List<SjBean> sjbeans = null;
- Ksdao ksdao = new Ksdao();
- ksdao.updateks(ksjbbbean);
- if (getShijuan() != null) {
- SjDao sjdao = new SjDao();
- sjbeans = getSjbean(shijuanFileName);
- for (SjBean bean : sjbeans) {
- System.out.println("添加试卷");
- sjdao.addSj(bean);
- }
- System.out.println("文件上传");
- try {
- uploadFile(sjbeans);
- } catch (IOException e) {
- SysTool.out.println("文件上传异常");
- e.printStackTrace();
- }
- }
- return SUCCESS;
- }
- /***************************************************************************
- * 试卷文件上传
- *
- * @throws IOException
- */
- public void uploadFile(List<SjBean> sjbeans) throws IOException {
- List<File> files = getShijuan();
- for (int i = 0; i < files.size(); i++) {
- try {
- FileOutputStream fos = new FileOutputStream(getSavePath()
- + "//" + sjbeans.get(i).getSj_code());
- FileInputStream fis = new FileInputStream(files.get(i));
- byte[] buffer = new byte[1024];
- int len = 0;
- while ((len = fis.read(buffer)) > 0) {
- fos.write(buffer, 0, len);
- System.out.println(len);
- }
- } catch (IOException e) {
- }
- }
- }
- /***************************************************************************
- * 删除试卷文件
- *
- * @return
- */
- public String delFile() {
- String path = ServletActionContext.getRequest().getRealPath(savePath);
- String filename = ServletActionContext.getRequest().getParameter(
- "filename");
- try {
- System.out.println(filename);
- File file = new File(new String(path + "/" + filename));
- file.delete();
- file.deleteOnExit();
- SjDao sjdao = new SjDao();
- sjdao.delSj(filename);
- } catch (Exception e) {
- System.out.println("文件删除异常");
- }
- return SUCCESS;
- }
- public KsjbbBean getKsjbbbean() {
- return ksjbbbean;
- }
- public void setKsjbbbean(KsjbbBean ksjbbbean) {
- this.ksjbbbean = ksjbbbean;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public List<File> getShijuan() {
- return shijuan;
- }
- public void setShijuan(List<File> shijuan) {
- this.shijuan = shijuan;
- }
- public List<String> getShijuanContentType() {
- return shijuanContentType;
- }
- public void setShijuanContentType(List<String> shijuanContentType) {
- this.shijuanContentType = shijuanContentType;
- }
- public List<String> getShijuanFileName() {
- return shijuanFileName;
- }
- public void setShijuanFileName(List<String> shijuanFileName) {
- this.shijuanFileName = shijuanFileName;
- }
- public String getSavePath() {
- return ServletActionContext.getRequest().getRealPath(savePath);
- }
- public void setSavePath(String savePath) {
- this.savePath = savePath;
- }
- }