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

📄 noticeaction.java

📁 前台:文章浏览、发表留言、Game、Music 后台:文章相关:发表文章、修改文章、删除文章、批量移动文章 栏目相关:增加栏目、修改栏目、删除栏目、栏目链接、栏目排序系统栏目分为系统内部栏目和外部栏目
💻 JAVA
字号:
package com.yhcms.manage.info.action;

import java.io.UnsupportedEncodingException;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.log4j.Logger;
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;

import com.yhcms.cmsinfo.bean.Notice;
import com.yhcms.cmsinfo.dao.CmsInfoDaoIm;
import com.yhcms.cmsinfo.itface.CmsInfoDao;
import com.yhcms.db.DBConnException;
import com.yhcms.manage.admin.action.LoginAction;
import com.yhcms.manage.admin.bean.AdminUser;
import com.yhcms.manage.info.form.NoticeForm;
import com.yhcms.utils.DateUtils;
import com.yhcms.utils.ReqUtils;
/**
 * <p>Title:系统公告属性Action</p>
 * <li>跳转或提交系统公告属性模块</li>
 * <li>此模块包括了四个功能:</li>
 * <li>跳转到公告管理模块:此时没有任何参数和标示</li>
 * <li>删除某公告:info=delete 同时传递公告id,删除成功,则跳转到成功画面.</li>
 * <li>更新某公告:info=update 同时传递公告id,点击修改仍然跳转到该Action处理.</li>
 * <li>(注意删除和更新公告的参数传递都不能够通过request取得,而是通过form.)</li>
 * <li>增加公告:传递隐藏参数action=post和公告基本属性(注:如果是修改某公告再提交,此时需要专题该公告id)</li>
 * <br><b>CopyRight: yyhweb[由由华网]</b>
 * @author stephen
 * @version YH-2.0
 */
public class NoticeAction extends Action{
	public ActionForward execute(ActionMapping actionmapping,ActionForm form,
			HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException{
		Logger yhlog = Logger.getLogger(LoginAction.class.getName());
		ActionMessages errors = new ActionMessages();
		
		//	取消操作
		if(isCancelled(request))
			return actionmapping.findForward("Cancel");
		
		NoticeForm nform = (NoticeForm)form;
		int nid = 0;
		String action = "";
		String name = "";
		String display = "";
		String content = "";
		String ftime = "";
		
		// 更新或删除公告
		String info = "";
		int id = 0;
		info = ReqUtils.getString(request,"info");
		id = ReqUtils.getInt(request,"id");
		
		action = nform.getAction();
		CmsInfoDao infodao = CmsInfoDaoIm.getInstance();
		List nlist = null;
		Notice upNotice = null;
		Notice curNotice = new Notice();
		
		try {
			//  跳转到管理画面
			nlist = infodao.getAllNotice();

			//  删除公告
			if(info.equals("delete")){
				upNotice = new Notice();
				if(infodao.deleteNotice(id)){
					request.setAttribute("allnotice",nlist);
					request.setAttribute("upnotice",upNotice);
					return actionmapping.findForward("Success");
				}else{
					
				}
			}
			//  更新公告
			if(info.equals("update")){
				upNotice = infodao.getNotice(id);
				//  display是为了在更新某公告的时候,是否显示这项能够与之对应.
				request.setAttribute("display",upNotice.getDisplay());
				request.setAttribute("allnotice",nlist);
				request.setAttribute("upnotice",upNotice);
				return actionmapping.findForward("Display"); 
			}
			
			if(!action.equals("post")){
				upNotice = new Notice();
				request.setAttribute("display",upNotice.getDisplay());
				request.setAttribute("allnotice",nlist);
				request.setAttribute("upnotice",upNotice);
				return actionmapping.findForward("Display");
			}
			
			//  从session取得当前用户
			HttpSession session = request.getSession();
			AdminUser curUser = (AdminUser) session.getAttribute("yhcmsuser");
			String userName = "";
			if(curUser!=null){
				userName = curUser.getUsername();
			}else{
			//  无法从session取得用户信息,跳转到登录页面
				return actionmapping.findForward("NoUser");
			}
			
			//  提交页面
			nid = nform.getNid();
			name = nform.getName().trim();
			display = nform.getDisplay();
			content = nform.getContent().trim();
			ftime = DateUtils.getCurFormatDate("yyyy-MM-dd");
			
			curNotice.setId(nid);
			curNotice.setName(name);
			curNotice.setDisplay(display);
			curNotice.setContent(content);
			curNotice.setByuser(userName);
			curNotice.setPosttime(ftime);
			
			if(nid>0){  // 说明是更新一个公告的提交.
				if(infodao.updateNotice(curNotice)){
					return actionmapping.findForward("Success");
				}else{
					yhlog.info("Add a notice unsuccessfully.");
					errors.add("notice.update.fail",new ActionMessage("notice.update.fail"));
				}
				
			}else{    // 说明是一个新的公告的提交.
				if(infodao.addNotice(curNotice)){
					return actionmapping.findForward("Success");
				}else{
					yhlog.info("Add a notice unsuccessfully.");
					errors.add("notice.add.fail",new ActionMessage("notice.add.fail"));
				}
			}
			
			
		} catch (DBConnException e) {
			yhlog.info("When add a notice,throw an Exception!");
			errors.add("notice.add.expt",new ActionMessage("notice.add.expt"));
		}
		
		// 跳转到错误页面时,nlist需要.
		request.setAttribute("allnotice",nlist);
		saveErrors(request,errors);
		return actionmapping.findForward("Failure");
	}

}

⌨️ 快捷键说明

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