⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 noticeaddaction.java

📁 功能是公安和学校的管理系统,用struts+hibernate+spring等匡架组成,在eclepse就能编译
💻 JAVA
字号:
package com.comingnet.action;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;

import com.comingnet.bean.NoticeAppFiles;
import com.comingnet.bean.Notice;
import com.comingnet.bean.NoticeDAO;
import com.comingnet.bean.UserInfor;
import com.comingnet.intercepter.UserSessionAware;
import com.opensymphony.xwork2.ActionSupport;

public class NoticeAddAction extends ActionSupport implements UserSessionAware ,ServletRequestAware{

	private static final long serialVersionUID = -7515999704423016499L;
	private UserInfor userSession=null;
	private String auid_test="6"; 
	
	private int id;
	private Notice notice;
	private HttpServletRequest request;
	//用于获取和保存上传文件信息
	private String[] imageFileName;
	private File[] 	 myFile;
	private String[] myFileFileName;
	private String[] myFileContentType;
	private static final int BUFFER_SIZE = 16 * 1024;
	private ArrayList<NoticeAppFiles> filelist;
	
	public void setServletRequest(HttpServletRequest request) {
		
		this.request = request;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public Notice getNotice() {
		return notice;
	}
	public void setNotice(Notice notice) {
		this.notice = notice;
	}
			
	public String[] getImageFileName() {
		return imageFileName;
	}
	public void setImageFileName(String[] imageFileName) {
		this.imageFileName = imageFileName;
	}
	public File[] getMyFile() {
		return myFile;
	}
	public void setMyFile(File[] myFile) {
		this.myFile = myFile;
	}
	public String[] getMyFileContentType() {
		return myFileContentType;
	}
	public void setMyFileContentType(String[] myFileContentType) {
		this.myFileContentType = myFileContentType;
	}
	public String[] getMyFileFileName() {
		return myFileFileName;
	}
	public void setMyFileFileName(String[] myFileFileName) {
		this.myFileFileName = myFileFileName;
	}
	
	public String getAuid_test() {
		return auid_test;
	}
	public void setAuid_test(String auid_test) {
		this.auid_test = auid_test;
	}
	public UserInfor getUserSession() {
		return userSession;
	}
	public void setUserSession(UserInfor userSession) {
		this.userSession = userSession;
	}


	/**
	 * 将文件复制到给定的文件夹
	 * @param src	原文件
	 * @param dst	目标文件
	 */
	private static void copy(File src, File dst) {
		InputStream in = null;
		OutputStream out = null;
		try {
			in = new BufferedInputStream(new FileInputStream(src), BUFFER_SIZE);
			out = new BufferedOutputStream(new FileOutputStream(dst),
					BUFFER_SIZE);
			byte[] buffer = new byte[BUFFER_SIZE];
			while (in.read(buffer) > 0) {
				out.write(buffer);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (null != in)
					in.close();
				if (null != out)
					out.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	/**
	 * 获取文件的扩展名
	 * @param fileName	包含扩展名的文件名
	 * @return	文件的扩展名
	 */
	private static String getExtention(String fileName) {
		int pos = fileName.lastIndexOf(".");
		return fileName.substring(pos);
	}
	
	/**
	 * 将notice信息保存到m_notice表
	 * @param notice
	 */
	private void saveNoticeInDatabase(Notice notice){
		NoticeDAO dao = new NoticeDAO();
		String n_fbrxm = userSession.getUserxm() ;
		int n_xxbh = userSession.getUserxxbh() ;
		String n_xxmc = userSession.getUserxxmc() ;
		String n_fbrzh =String.valueOf(userSession.getUserid())  ;
		String n_userclass = userSession.getUserclass() ;
		
		notice.setN_fbrxm(n_fbrxm) ;
		notice.setN_xxbh(n_xxbh) ;
		notice.setN_xxmc(n_xxmc) ;
		notice.setN_fbrzh(n_fbrzh) ;
		notice.setN_xszt("1") ;
		notice.setN_userclass(n_userclass) ;
		
		
//		System.out.println(notice.getN_xxmc()) ;
		
		
		dao.addNotice(notice);

		
	}
	
	/**
	 * 将上传的文件保存到notice/uploadFile文件夹中,并更名为:当前时间+文件序号+扩展名
	 *
	 */
	private void saveFilesInFolder(){
		if(myFile!=null){
			if(myFile.length != 0){
				imageFileName = new String[myFile.length];
				filelist = new ArrayList<NoticeAppFiles>();
			}
			for(int i=0; i<myFile.length; i++){
				NoticeAppFiles file = new NoticeAppFiles();
				file.setOldFilename(myFileFileName[i]);
				imageFileName[i] = new Date().getTime()+ i + getExtention(myFileFileName[i]);//保证在同一时间内上传的文件不重名
				file.setNewFilename(imageFileName[i]);
				File imageFile = new File(ServletActionContext.getServletContext().getRealPath("/notice/uploadFile")+ "/" + imageFileName[i]);
				copy(myFile[i], imageFile);
				filelist.add(file);
			}
			notice.setFiles(filelist);
		}
	}
	
	/**
	 * 根据id返回notice对象
	 * @return
	 */
	public String LoadNotice(){
		
		NoticeDAO dao = new NoticeDAO();
		dao.getNoticeInfoById(getId());
		setNotice(dao.getNotice());
		request.setAttribute("content", notice.getN_nr());
		return SUCCESS;
	}
	/**
	 * 添加公告action方法 将上传文件保存到notice/uploadFile下,并添加数据库纪录
	 * @return
	 * 
	 */
	public String AddNotice() {
		saveFilesInFolder();
		saveNoticeInDatabase(notice);//保存notice信息
		return SUCCESS;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -