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.News; import org.yeeku.model.NewsReview; import org.yeeku.model.User; import org.yeeku.webapp.util.AppConstants; public class AddReviewAction extends BaseAction { // 必须重写该核心方法,该方法actionForm将表单的请求参数封装成值对象 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { DynaValidatorForm addForm = (DynaValidatorForm) form; String content = (String) addForm.get("content"); String newsId = (String) addForm.get("newsId"); try { News news = mgr.getNews(newsId); String username = (String) request.getSession(true).getAttribute(AppConstants.LOGIN_USER); User poster = mgr.getUser(username); NewsReview newsReview = new NewsReview(); newsReview.setNews(news); newsReview.setPoster(poster); newsReview.setContent(content); newsReview.setPostDate(new Date()); newsReview.setLastModifyDate(new Date()); mgr.saveNewsReview(newsReview); } catch (Exception e) { request.setAttribute("newsId", newsId); return mapping.findForward("failure"); } request.setAttribute("newsId", newsId); return mapping.findForward("success"); } }