forumcreateaction.java

来自「使用hibernate+struts2+spring实现的网上聊天系统」· Java 代码 · 共 67 行

JAVA
67
字号

package j2eebbs.admin.action;

import j2eebbs.Constants;
import j2eebbs.DB;
import j2eebbs.Forum;
import j2eebbs.admin.form.ForumManagerForm;

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 ForumCreateAction extends Action{  
	public ActionForward execute(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,  
		HttpServletResponse response) throws Exception {
			
		if (!isTokenValid(request)){
 			saveToken(request);
 			return (new ActionForward(mapping.getInput())); 
 		}
 		resetToken(request);  

 		ForumManagerForm forumManagerForm = (ForumManagerForm) form;         
		String forumname = (String)forumManagerForm.getForumname();
		
        HttpSession session = request.getSession();
		Vector sorts = new Vector();
		
   		ServletContext context = servlet.getServletContext();
		DataSource dataSource = 
			(DataSource)context.getAttribute(Constants.DATASOURCE_KEY);				
        DB db = new DB(dataSource);
        
		String pageForward;
		ActionMessages errors = new ActionMessages();
		if (Forum.insert(db,forumname)){
			sorts = Forum.search(db);
			session.setAttribute(Constants.FORUM_LIST_KEY,sorts);
			pageForward="ToForumManager";					
		}
		else{
            errors.add(ActionMessages.GLOBAL_MESSAGE,
                           new ActionMessage("error.insert.failed"));
			if (!errors.isEmpty()) {
				saveErrors(request, errors);
			} 
 			pageForward="ToErrorPage";  
		}
   		
		db.close();
	   	return (mapping.findForward(pageForward));					
 	}	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?