bookform.java

来自「一个基本的图书馆管理系统」· Java 代码 · 共 315 行

JAVA
315
字号
package c18.struts.form;

import java.util.Calendar;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;
import org.apache.struts.validator.ValidatorForm;

import c18.entity.Book;
import c18.util.ConvertUtil;

/** 
 * 表单 bookForm
 * @struts.form name="bookForm"
 */
public class BookForm extends ValidatorForm {
	private int bookNo;
	/**
	 * 图书名称
	 */
	private String name;
	/**
	 * 图书作者
	 */
	private String author;
	/**
	 * 出版商
	 */
	private String bookMan;
	/** 
	 * 简介
	 */
	private String brief;

	/** 
	 * 出版日期
	 */
	private String publishDate;
	/** 出版日期年份 */
	private int year;
	
	/** 出版日期月份 */
	private int month;

	/** 出版日期日期 */
	private int day;

	/** 
	 * 价格
	 */
	private double price;

	/** 
	 * 数量
	 */
	private int amount;
	
	/**
	 * 图片
	 */
	private FormFile imageFile;
	/**
	 * ISBN
	 */
	private String isbn;
	/**
	 * 选择分类号
	 */
	private String[] categoryNos;


	public String getIsbn() {
		return isbn;
	}


	public void setIsbn(String isbn) {
		this.isbn = isbn;
	}


	public int getAmount() {
		return amount;
	}


	public void setAmount(int amount) {
		this.amount = amount;
	}


	public String getAuthor() {
		return author;
	}


	public void setAuthor(String author) {
		this.author = author;
	}


	public String getBookMan() {
		return bookMan;
	}


	public void setBookMan(String bookMan) {
		this.bookMan = bookMan;
	}


	public String getBrief() {
		return brief;
	}


	public void setBrief(String brief) {
		this.brief = brief;
	}


	public FormFile getImageFile() {
		return imageFile;
	}


	public void setImageFile(FormFile imageFile) {
		this.imageFile = imageFile;
	}


	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
	}


	public double getPrice() {
		return price;
	}


	public void setPrice(double price) {
		this.price = price;
	}


	public String getPublishDate() {
		return publishDate;
	}


	public void setPublishDate(String publishDate) {
		this.publishDate = publishDate;
	}

	/**
	 * 得到Book对象
	 * @return
	 */
	public Book getBook(){
		Book book = new Book();
		book.setBookNo(getBookNo());
		book.setName(getName());
		book.setAuthor(getAuthor());
		book.setBookMan(getBookMan());
		book.setBrief(getBrief());
		book.setPublishDate(ConvertUtil.convertDate(getPublishDate()));
		book.setPrice((int)(getPrice()*100));
		book.setAmount(getAmount());
		book.setIsbn(getIsbn());
		book.setImageFile(getImageFile().getFileName());
		
		return book;
	}
	
	/**
	 * 通过Book对象来设置BookForm
	 * @param book
	 */
	public void setBook(Book book){
		setBookNo(book.getBookNo());
		setName(book.getName());
		setAuthor(book.getAuthor());
		setBookMan(book.getBookMan());
		setBrief(book.getBrief());
		setPublishDate(ConvertUtil.convertString(book.getPublishDate()));
		Calendar publishdate = Calendar.getInstance();
		publishdate.setTime(book.getPublishDate());
		setYear(publishdate.get(Calendar.YEAR));
		setMonth(publishdate.get(Calendar.MONTH) + 1);
		setDay(publishdate.get(Calendar.DAY_OF_MONTH));
		setPrice(((double)book.getPrice())/100);
		setAmount(book.getAmount());
		setIsbn(book.getIsbn());
		//setRemain(book.getRemain());
	}
	
	/**
	 * 校验图片文件大小
	 */
	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		ActionErrors errors = super.validate(mapping, request);
		
		if(errors == null){ 
			errors = new ActionErrors();
		}
		

		//校验上传文件类型,只能为.jpg或.gif
		if(imageFile != null 
				&& imageFile.getFileName() != null 
				&& !imageFile.getFileName().trim().equals("")){ 
			if(imageFile.getContentType() == null || 
					(!imageFile.getContentType().equalsIgnoreCase("image/pjpeg") 
							&& !imageFile.getContentType().equalsIgnoreCase("image/gif"))){
				errors.add("imageFileType", new ActionMessage(
					"error.imagetype"));
			}
		}
		
		//有超过最大文件长度限制 
		Boolean maxLengthExceeded = (Boolean) request
				.getAttribute(MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);

		if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) {
			errors.add("imageFileSize", new ActionMessage(
					"error.imageMaxLengthExceeded"));
		}

		
		if(errors.isEmpty()){
			return null;
		}
		
		return errors;

	}
	


	public int getBookNo() {
		return bookNo;
	}


	public void setBookNo(int bookNo) {
		this.bookNo = bookNo;
	}


	public int getDay() {
		return day;
	}


	public void setDay(int day) {
		this.day = day;
	}


	public int getMonth() {
		return month;
	}


	public void setMonth(int month) {
		this.month = month;
	}


	public int getYear() {
		return year;
	}


	public void setYear(int year) {
		this.year = year;
	}


	public String[] getCategoryNos() {
		return categoryNos;
	}
	
	/**
	 * 返回整数值的分类号数组
	 * @return
	 */
	public int[] getIntCategoryNos() {
		if(categoryNos == null){
			return null;
		}
		int[] icategoryNos = new int[categoryNos.length];
		for(int i=0; i<categoryNos.length; i++){
			icategoryNos[i] = ConvertUtil.convertInt(categoryNos[i]);
		}
		return icategoryNos;
	}

	public void setCategoryNos(String[] categoryNos) {
		this.categoryNos = categoryNos;
	}

}

⌨️ 快捷键说明

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