📄 noticeaction.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 + -