package cn.newgxu.bbs.web.action; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import cn.newgxu.bbs.common.MessageList; import cn.newgxu.bbs.common.exception.BBSException; import cn.newgxu.bbs.common.util.Util; import cn.newgxu.bbs.service.ForumService; import cn.newgxu.bbs.web.model.ModifyModel; /** * * @author polly * @since 4.0.0 * @version $Revision 1.1$ */ public class ModifyAction extends AbstractBaseAction { private static final long serialVersionUID = 1969751312825171867L; private static final Log log = LogFactory.getLog(ModifyAction.class); private ModifyModel model = new ModifyModel(); private ForumService forumService; @Override public String execute() throws Exception { signOnlineUser("修改文章内容"); model.setUser(getUser()); try { forumService.modify(model); super.setOnlineStatusForumId(model.getForumId()); return model.getReply().isFirstReply() ? "topic" : "reply"; } catch (BBSException e) { MessageList m = new MessageList(); log.debug(e); m.addMessage(e.getMessage()); Util.putMessageList(m, getSession()); return ERROR; } } public String submit() throws Exception { signOnlineUser("修改提交中..."); model.setUser(getUser()); MessageList m = new MessageList(); try { forumService.modifyDo(model); m .setUrl( "/topic.yws?forumId=${forumId}&topicId=${topicId}&page=${page}#${replyId}", MessageList.P("${forumId}", model.getForumId()), MessageList.P("${topicId}", model.getTopicId()), MessageList.P("${page}", model.getTopic() .getReplyPages()), MessageList.P( "${replyId}", model.getReplyId())); m.addMessage("<b>修改成功!</b>"); m.addMessage("<a href='/forum.yws?forumId=${forumId}'>返回主题列表</a>", MessageList.P("${forumId}", model.getForumId())); m .addMessage( "<a href='/topic.yws?forumId=${forumId}&topicId=${topicId}&page=${page}#${replyId}'>查看我刚才的修改</a>", MessageList.P("${forumId}", model.getForumId()), MessageList.P("${topicId}", model.getTopicId()), MessageList.P("${page}", model.getTopic() .getReplyPages()), MessageList.P( "${replyId}", model.getReplyId())); Util.putMessageList(m, getSession()); log.debug("修改成功!"); return SUCCESS; } catch (BBSException e) { e.printStackTrace(); log.debug(e); m.addMessage(e.getMessage()); Util.putMessageList(m, getSession()); return ERROR; } } public Object getModel() { return model; } public void setForumService(ForumService forumService) { this.forumService = forumService; } }