📄 bookedit.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 + -