📄 submitarticleaction.java
字号:
package j2eebbs.user.action;
import j2eebbs.Constants;
import j2eebbs.DB;
import j2eebbs.Response;
import j2eebbs.Topic;
import j2eebbs.TopicDisp;
import j2eebbs.user.form.NewArticleForm;
import java.util.Vector;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;
import org.apache.struts.action.Action;
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;
public final class SubmitArticleAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
NewArticleForm newform = (NewArticleForm) form;
String title = (String) newform.getTitle();
String content = (String) newform.getContent();
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource) context
.getAttribute(Constants.DATASOURCE_KEY);
DB db = new DB(dataSource);
HttpSession session = request.getSession(true);
ActionMessages errors = new ActionMessages();
String talkType = (String) session
.getAttribute(Constants.TALK_TYPE_KEY);
String username = (String) session.getAttribute(Constants.USERNAME_KEY);
Vector topicVector = new Vector();
String pageForward;
if (talkType.equals("topic")) {
int forumid = ((Integer) session
.getAttribute(Constants.CUR_FORUMID_KEY)).intValue();
Topic topic = new Topic();
topic.setTitle(title);
topic.setContent(content);
topic.setForumid(forumid);
topic.setAuthor(username);
if (topic.insert(db)) {
TopicDisp topicdisp = new TopicDisp();
topicdisp.setForumid(forumid);
topicVector = topicdisp.search(db, 0);
session.setAttribute(Constants.TOPIC_LIST_KEY, topicVector);
pageForward = "ToTopicList";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.article.insertfailed"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
} else {
int topicid = ((Integer) session
.getAttribute(Constants.CUR_TOPICID_KEY)).intValue();
Response respon = new Response();
respon.setTitle(title);
respon.setContent(content);
respon.setTopicid(topicid);
respon.setAuthor(username);
if (respon.insert(db)) {
respon.setTopicid(topicid);
topicVector = Response.search(db, topicid);
session.setAttribute(Constants.RESPONSE_LIST_KEY, topicVector);
pageForward = "ToResponseList";
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.article.insertfailed"));
if (!errors.isEmpty()) {
saveErrors(request, errors);
}
pageForward = "ToErrorPage";
}
}
db.close();
return (mapping.findForward(pageForward));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -