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

📄 savebookaction.java

📁 人民邮电出版的<精通J2EE>一书第16章网上书店系统的源程序
💻 JAVA
字号:
package bookstore;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.upload.FormFile;
import org.hibernate.Query;
import org.hibernate.Session;

import bookstore.database.Bookinfo;
import bookstore.database.HibernateUtil;

public class SaveBookAction extends Action {

    public ActionForward execute(ActionMapping mapping, ActionForm srcForm,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        ActionMessages errors = new ActionMessages();
        Bookinfo book = new Bookinfo();
        EditBookForm form = (EditBookForm) srcForm;
        Session dbSession = HibernateUtil.currentSession();
        if (form.getId().intValue() != 0) {
            Query query = dbSession
                    .createQuery("from Bookinfo as b where b.id=:id");
            query.setInteger("id", form.getId().intValue());
            HibernateUtil.beginTransaction();
            List result = query.list();
            HibernateUtil.commitTransaction();
            if (result.size() != 0) {
                book = (Bookinfo) result.get(0);
            }
        }
        book.setBookName(new String(form.getBookName().getBytes("ISO-8859-1"),
                "GB2312"));
        book.setIsbn("111-222-333");
        book.setWriter(new String(form.getWriter().getBytes("ISO-8859-1"),
                "GB2312"));
        book.setIntro(new String(form.getIntro().getBytes("ISO-8859-1"),
                "GB2312"));
        book.setPublisher(new String(
                form.getPublisher().getBytes("ISO-8859-1"), "GB2312"));
        book.setPrice(form.getPrice());
        book.setRemaining(form.getRemaining());
        book.setDate(new Date(System.currentTimeMillis()));
        FormFile file = form.getPicture();
        if (!file.getFileName().equals("")) {
            // 锟叫讹拷锟侥硷拷)展锟斤拷锟角凤拷锟斤拷确
            String[] fileNameSpt = file.getFileName().split("\\.");
            String ext = fileNameSpt[fileNameSpt.length - 1].toLowerCase();
            if (!ext.equals("gif") && !ext.equals("jpg")) {
                errors.add("wrongPic", new ActionMessage("savebook.wrongFile"));
                this.saveErrors(request, errors);
                return mapping.findForward("errorPage");
            }
            // 锟角凤拷指锟斤拷锟剿合凤拷锟斤拷锟侥硷拷锟斤拷
            InputStream is = file.getInputStream();
            if (is == null) {
                errors
                        .add("wrongPic", new ActionMessage(
                                "savebook.invalidPic"));
                this.saveErrors(request, errors);
                return mapping.findForward("errorPage");
            }
            // 锟皆碉拷前系统时锟斤拷锟斤拷锟斤拷锟斤拷锟轿

⌨️ 快捷键说明

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