⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 topicaction.java

📁 struts+hibernate开发的BBS源码
💻 JAVA
字号:
package com.bbs.web.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionErrors;
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;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.bbs.domain.service.*;
import com.bbs.domain.service.impl.*;
import com.bbs.domain.model.*;
import java.util.*;

import com.bbs.util.*;
import com.bbs.domain.service.PageBaseManager;
import com.bbs.web.page.PageController;
import com.bbs.web.struts.form.*;

public class TopicAction extends BaseAction {
	
	public ActionForward browse(ActionMapping mapping,ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
throws Exception{
	if (log.isDebugEnabled()) {
		log.debug("Entering 'add' method");
	}
	System.out.println("Enter the browse method");
	HttpSession session = request.getSession();
	SubjectManager manager = (SubjectManager)ManagerFactory.createSubjectManager();
	List allsubjects = manager.getAllSubject();
	
	session.removeAttribute(Constants.ALLSUBJECT);
	session.setAttribute(Constants.ALLSUBJECT,allsubjects);
	System.out.println("11111111111");
	return mapping.findForward("viewsubject");	
	}

	public ActionForward listtopic(ActionMapping mapping,ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
throws Exception{
		if (log.isDebugEnabled()) {
			log.debug("Entering 'add' method");
		}
		HttpSession session = request.getSession();
		
		System.out.println("start the  toplist method");
		
		String sortby = " lastmodiedtime ";
		String desc = " desc "  ;
		
		PageForm pageform = new PageForm();
		PageController pc = new PageController();
		
		TopicManager topicmanager = ManagerFactory.createTopicManager();
		SubjectManager subjectmanager = ManagerFactory.createSubjectManager();		
		String subjectid_str = (String )request.getParameter("subjectid");
		if( subjectid_str == null )
		{
			Subject subject = (Subject)session.getAttribute(Constants.CURSUBJECT);
			subjectid_str = subject.getId().toString();
		
		}
		
		System.out.println("subjectid "+subjectid_str);
		
		Long subjectid_long = new Long(subjectid_str);		
		Subject subject = subjectmanager.getByID(subjectid_long);		
		pc.getPageMgr().setPageDAO( ( (PageBaseManager)topicmanager ).getPageDAO() );
		if( sortby != null )
		{
			StringBuffer  sortbuff = new StringBuffer();
			sortbuff.append(sortby);
			
			if(desc != null)
			{
				sortbuff.append(" ");
				sortbuff.append(desc);
			}
			pc.getPager().getQueryInfo().setOrderByClause(sortbuff.toString());
		}
		
		
		String whereclause = "c.subject.id = "+subject.getId();
		pc.getPager().getQueryInfo().setWhereClause(whereclause);
		List topiclist = pc.toAnyPage( 1 );
		pageform.setCurPage( 1 );
		pageform.setControllerName( "topicpc" );
		session.setAttribute(pageform.getControllerName(),pc);
		request.setAttribute("pageResults",topiclist);
		request.setAttribute("pageForm" , pageform);
		request.setAttribute("sortby" , sortby);
		request.setAttribute("desc" , "desc".equals(desc)?"asc":"desc");		
		
		session.removeAttribute(Constants.CURSUBJECT);
		session.setAttribute(Constants.CURSUBJECT,subject);
		
		System.out.println("end the topicaciont list method");
		return mapping.findForward("topiclist");				
	}
	
	public ActionForward viewtopic(ActionMapping mapping,ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
throws Exception{
		if (log.isDebugEnabled()) {
			log.debug("Entering 'add' method");
		}
        HttpSession session = request.getSession();
		
		System.out.println("start the  toplist method");
		
		String sortby = " createDate ";
		String desc = " desc "  ;
		
		PageForm pageform = new PageForm();
		PageController pc = new PageController();
		
		TopicManager topicmanager = ManagerFactory.createTopicManager();
		SubjectManager subjectmanager = ManagerFactory.createSubjectManager();		
		String subjectid_str = (String )request.getParameter("subjectid");
		if( subjectid_str == null )
		{
			Subject subject = (Subject)session.getAttribute(Constants.CURSUBJECT);
			subjectid_str = subject.getId().toString();
		
		}
		
		System.out.println("subjectid "+subjectid_str);
		
		Long subjectid_long = new Long(subjectid_str);		
		Subject subject = subjectmanager.getByID(subjectid_long);		
		pc.getPageMgr().setPageDAO( ( (PageBaseManager)topicmanager ).getPageDAO() );
		if( sortby != null )
		{
			StringBuffer  sortbuff = new StringBuffer();
			sortbuff.append(sortby);
			
			if(desc != null)
			{
				sortbuff.append(" ");
				sortbuff.append(desc);
			}
			pc.getPager().getQueryInfo().setOrderByClause(sortbuff.toString());
		}
		
		
		String whereclause = "c.subject.id = "+subject.getId();
		pc.getPager().getQueryInfo().setWhereClause(whereclause);
		List topiclist = pc.toAnyPage( 1 );
		pageform.setCurPage( 1 );
		pageform.setControllerName( "topicpc" );
		session.setAttribute(pageform.getControllerName(),pc);
		request.setAttribute("pageResults",topiclist);
		request.setAttribute("pageForm" , pageform);
		request.setAttribute("sortby" , sortby);
		request.setAttribute("desc" , "desc".equals(desc)?"asc":"desc");		
		
		session.removeAttribute(Constants.CURSUBJECT);
		session.setAttribute(Constants.CURSUBJECT,subject);
		
		System.out.println("end the topicaciont list method");
		return mapping.findForward("topiclist");				
		
	}
	
	
	
	public ActionForward newtopic(ActionMapping mapping,ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
throws Exception{
		
		if (log.isDebugEnabled()) {
			log.debug("Entering 'add' method");
		}
		
		if(isTokenValid(request))
		{
			resetToken(request);
		HttpSession session = request.getSession();
		TopicForm topicform = (TopicForm)form;
		
		UserManager usermanager = ManagerFactory.createUserManager();
		TopicManager topicmanager = ManagerFactory.createTopicManager();
		SubjectManager subjectmanager = ManagerFactory.createSubjectManager();
		
		Topic newtopic = new Topic();		
		Subject subject = (Subject)session.getAttribute(Constants.CURSUBJECT);
		User user = (User)session.getAttribute(Constants.USER_KEY);	
		
		User user_temp = usermanager.getByID(user.getId());
		Subject subject_temp = subjectmanager.getByID(subject.getId());
		
		
		
		if( ( user != null )&&(subject != null) )
		{			
			if(user.getStatus().equalsIgnoreCase("y"))
			{
			BeanUtils.copyProperties(newtopic,topicform);
			newtopic.setWriter(user_temp);
			newtopic.setSubject(subject_temp);
			newtopic.setLastmodiedtime(new Date(System.currentTimeMillis()));
			newtopic.setIflocked("N");
			newtopic.setLastmodiedtime(new Date(System.currentTimeMillis()));
			topicmanager.save(newtopic);
			}
			else
			{
				ActionMessages errors = new ActionErrors();
		 		errors.add("you are locked",new ActionMessage("errors.user.locked"));		
		 		saveErrors(request,errors);				
				return mapping.findForward("error");
			}
		}
		else
		{			//rhese code has  some problem needed more case dealed
			if(user == null)
				return mapping.findForward("logon");
			
			return mapping.findForward("error.newtopic");
		}	
		
		return mapping.findForward("addtopicsuccess");	
		}
		else
			return mapping.findForward("addtopicsuccess");
		
	}
	
	
	public ActionForward prenewtopic(ActionMapping mapping,ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
throws Exception{
		
		if (log.isDebugEnabled()) {
			log.debug("Entering 'add' method");
			}
		System.out.println("enter the prenewtopic method");
		
		HttpSession session = request.getSession();
		User user = (User)session.getAttribute(Constants.USER_KEY);
		if( user == null)
		{
			ActionMessages errors = new ActionErrors();
	 		errors.add("no logong",new ActionMessage("errors.user.logon"));		
	 		saveErrors(request,errors);				
			return mapping.findForward("logon");
		}	
		
		saveToken(request);		
		return mapping.findForward("newtopic");
	
	}
	
	public ActionForward delete(ActionMapping mapping,ActionForm form,
			HttpServletRequest request,
			HttpServletResponse response)
throws Exception{
		
		if (log.isDebugEnabled()) {
			log.debug("Entering 'add' method");
			}
		HttpSession session = request.getSession();
		String topicid = (String)request.getParameter("topicid");
		TopicManager topicmanager = ManagerFactory.createTopicManager();
		
		
		if(topicid != null)
		{
			Topic temp_topic = topicmanager.getByID(new Long(topicid));
			if(temp_topic != null)
			{
				topicmanager.delete(temp_topic);
				return mapping.findForward("delete");
			}			
		}			
		return mapping.findForward("error");
	}
	
	
	
	
	

}

⌨️ 快捷键说明

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