package org.yeeku.action; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.validator.DynaValidatorForm; import org.yeeku.action.base.BaseAction; import org.yeeku.model.Category; import org.yeeku.model.News; import org.yeeku.model.User; import org.yeeku.webapp.util.AppConstants; public class AddNewsAction extends BaseAction { //必须重写该核心方法,该方法actionForm将表单的请求参数封装成值对象 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { DynaValidatorForm loginForm = (DynaValidatorForm)form; String title = (String)loginForm.get("title"); String content = (String)loginForm.get("content"); String cateId = (String)loginForm.get("categoryId"); try { Category category = mgr.getCategory(cateId); String username = (String)request.getSession(true).getAttribute( AppConstants.LOGIN_USER); User poster = mgr.getUser(username); News news = new News(); news.setCategory(category); news.setPoster(poster); news.setTitle(title); news.setContent(content); news.setPostDate(new Date()); news.setLastModifyDate(new Date()); mgr.saveNews(news); } catch (Exception e) { request.setAttribute("categoryId" , cateId); return mapping.findForward("failure"); } request.setAttribute("categoryId" , cateId); return mapping.findForward("success"); } }