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

📄 bookedit.java

📁 学习tapestry的好书啊,绝对经典实用.
💻 JAVA
字号:
package com.cucu.tapestry.page;

import com.cucu.tapestry.entity.Guestbook;
import com.cucu.tapestry.service.GuestbookService;
import com.cucu.tapestry.util.WebUtil;
import com.cucu.tapestry.core.MyEngine;
import org.apache.tapestry.IExternalPage;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.RedirectException;
import org.apache.tapestry.valid.ValidationDelegate;
import org.apache.tapestry.event.PageBeginRenderListener;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.request.IUploadFile;

import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

/**
 * 留言编辑
 * @author 绝情酷哥
 * @version 1.0
 */
public abstract class BookEdit
        extends BasePage
        implements IExternalPage, PageBeginRenderListener {
    public abstract String getTitle();

    public abstract void setTitle(String title);

    public abstract String getContent();

    public abstract void setContent(String content);

    public abstract Integer getParentId();

    public abstract void setParentId(Integer parentId);

    public abstract HttpServletRequest getServletRequest();

    private Guestbook gb;

    public abstract IUploadFile getUploadFile();

    public abstract File getServerFile();

    public abstract void setServerFile(File file);

    public abstract GuestbookService getGuestbookService();

    public abstract Integer getBookId();

    public abstract void setBookId(Integer bookId) ;

    /**
     * @return 返回下载文件列表
     */
    public List getDownloadFiles() {
        List list = null;
        String files = this.gb.getAttachUrl();
        if (files == null || files.trim().equals("")) {
            return null;
        }
        String file[] = files.split("@");
        if (file != null && file.length > 0) {
            list = new ArrayList();
            for (int i = 1; i < file.length; i++) {
                list.add(file[i]);
            }
        }
        return list;
    }

    /**
     * @param cycle
     */
    public String doEdit(IRequestCycle cycle) {
          ValidationDelegate delegate = (ValidationDelegate) this.getBeans().getBean("delegate");
        if (delegate.getHasErrors()) {
            return "BookEdit";
        }

        gb.setTitle(this.getTitle());
        gb.setContent(this.getContent());
        this.getGuestbookService().doUpdateTopic(gb);
        throw new RedirectException(((MyEngine) this.getEngine()).getPageLinkUrl("BookEdit"));

    }

    /* (非 Javadoc)
      * @see org.apache.tapestry.IExternalPage#activateExternalPage(java.lang.Object[], org.apache.tapestry.IRequestCycle)
      */
    public void activateExternalPage(
            Object[] parameters,
            IRequestCycle cycle) {
    }

    /* (非 Javadoc)
      * @see org.apache.tapestry.event.PageRenderListener#pageBeginRender(org.apache.tapestry.event.PageEvent)
      */
    public void pageBeginRender(PageEvent event) {
        this.gb = this.getGuestbookService().getGuestbook(getBookId());
        this.setTitle(gb.getTitle());
        this.setParentId(gb.getParentId());
        this.setContent(gb.getContent());
    }

    /**
     * 上传文件
     *
     * @param cycle
     */
    public void doUpload(IRequestCycle cycle) {
        HttpServletRequest servletRequest = this.getServletRequest();
        String realPath = servletRequest.getSession().getServletContext().getRealPath("/");
        realPath += "/upload";
        String extendname = "";
        StringTokenizer st =
                new StringTokenizer(getUploadFile().getFileName(), ".");
        while (st.hasMoreTokens()) {
            extendname = (String) st.nextToken();
        }

        String rename =
                String.valueOf(new java.util.Date().getTime()) + "." + extendname;

        if (getUploadFile() == null) {
            return;
        }

        InputStream fis = getUploadFile().getStream();
        FileOutputStream fos = null;

        try {
            fos = new FileOutputStream(new File(realPath, rename));
            byte[] buffer = new byte[1024];
            while (true) {
                int length = fis.read(buffer);
                if (length < 0) {
                    break;
                }
                fos.write(buffer, 0, length);
            }
            fis.close();
            fos.close();

            setServerFile(new File(realPath, rename));

            Guestbook gb = this.getGuestbookService().getGuestbook(getBookId());
            gb.setAttachUrl(
                    WebUtil.checkNull(gb.getAttachUrl()) + "@" + rename);
            this.getGuestbookService().doUpdateTopic(gb);
            this.gb = gb;

        } catch (FileNotFoundException ioe) {
            //ioe.printStackTrace();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException ioe) {
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException ioe) {
                }
            }
        }
        //cycle.activate("BookEdit");
    }

}

⌨️ 快捷键说明

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