【Java开源代码栏目提醒】:本文主要为网学会员提供AuthorAction.java,希望对需要AuthorAction.java网友有所帮助,学习一下!
package com.weblog.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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.action.DynaActionForm;
import org.apache.struts.actions.DispatchAction;
import com.weblog.model.Author;
import com.weblog.service.AuthorManager;
public final class AuthorAction extends DispatchAction {
private final Log log = LogFactory.getLog(AuthorAction.class);
private AuthorManager mgr = null;
public void setAuthorManager(AuthorManager authorManager) {
this.mgr = authorManager;
}
public ActionForward cancel(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return mapping.findForward("list");
}
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("Entering 'delete' method");
}
ActionMessages messages = new ActionMessages();
DynaActionForm authorForm = (DynaActionForm) form;
// Exceptions are caught by ActionExceptionHandler
Author author = (Author) authorForm.get("author");
mgr.removeAuthor(request.getParameter("author.id"));
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"author.deleted"));
// save messages in session, so they'll survive the redirect
saveMessages(request.getSession(), messages);
return mapping.findForward("search");
}
public ActionForward edit(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("Entering 'edit' method");
}
DynaActionForm authorForm = (DynaActionForm) form;
String authorId = request.getParameter("id");
// null userId indicates an add
if (authorId != null) {
Author author = mgr.getAuthor(authorId);
if (author == null) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"user.missing"));
saveErrors(request, errors);
return mapping.findForward("list");
}
authorForm.set("author", author);
}
return mapping.findForward("edit");
}
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("Entering 'save' method");
}
if (isCancelled(request)) {
return list(mapping, form, request, response);
}
// run validation rules on this form
ActionMessages errors = form.validate(mapping, request);
if (!errors.isEmpty()) {
saveErrors(request, errors);
return mapping.findForward("edit");
}
DynaActionForm authorForm = (DynaActionForm) form;
Author author = (Author) authorForm.get("author");
mgr.saveAuthor(author);
ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"author.saved", author.getName()));
saveMessages(request.getSession(), messages);
return mapping.findForward("authors");
}
public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("entering 'list' method...");
}
request.setAttribute("authors", mgr.getAuthors());
return mapping.findForward("list");
}
public ActionForward unspecified(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return list(mapping, form, request, response);
}
}
上一篇:
Author.java
下一篇:
还记得,那年的风车吗?