📄 logaction.java
字号:
package com.db711.web.action.admin.log;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.log4j.Logger;
import com.db711.sys.Constant;
import com.db711.sys.StringUtil;
import com.db711.web.form.EntrySearchForm;
import com.db711.web.page.Pager;
import java.util.List;
import java.util.ArrayList;
import com.db711.data.bean.Log;
import com.db711.data.bean.UserInfo;
import com.db711.data.dao.ILogDAO;
/**
* @Description: 实现日志记录管理页面的相关功能
* @Company: CSSRC
* @Copyright: Copyright (c) 2008
* @author:周锦程
* @since:JDK1.5
* @version:1.0
* @date (开发日期): 2008-03-03
*/
public class LogAction extends Action {
ActionErrors errors = new ActionErrors();
static Logger logger = Logger.getLogger(LogAction.class);
private ILogDAO logDAO;
public LogAction() {
}
public ActionForward execute(ActionMapping mapping, ActionForm actionForm,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = request.getSession(true);
ActionForward myforward = null;
String myaction = mapping.getParameter();
try {
if ("LOG_LIST".equalsIgnoreCase(myaction)) {
myforward = performLogList(mapping, actionForm, request,
response);
}
else {
myforward = mapping.findForward(Constant.SUCCESS);
}
} catch (Exception e) {
errors.add("ErrorMessage", new ActionMessage("error.Exception"));
logger.error(StringUtil.getLogString(((UserInfo) session
.getAttribute(Constant.USER)).getUserAccount(), e
.getMessage()));
myforward = mapping.findForward(Constant.FAILURE);
}
return myforward;
}
private ActionForward performLogList(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
UserInfo user = (UserInfo) request.getSession().getAttribute(
Constant.USER);
if (!(user.getUserRole().equals("admin"))) {
// 普通用户没有日志的管理权限
String errorSORT = Constant.errorQuanxian;
request.setAttribute("ERRORSORT", errorSORT);
String error = "对不起,您不是管理员,没有日志信息的管理权限!";
request.getSession().setAttribute("PUBLICINFERROR", error);
return mapping.findForward("warning");
}
EntrySearchForm queryform = (EntrySearchForm) actionForm;
List list1 = new ArrayList();
int offset = 0;
int curpage = queryform.getCurpage();
int pagesize = queryform.getPagesize();
String searchaction = request.getParameter("searchaction");
if (searchaction == null) {
searchaction = "list";
}
// 取得查询语句
String searchsql = getSearchsql(queryform);
String pageOffsetTest = request.getParameter("pager.offset");
// 不是执行翻页的时候才将查询语句保存起来
if (pageOffsetTest == null) {
request.getSession().setAttribute("OLDSGSEARCH", searchsql);
}
queryform.setSearchsql(searchsql);
// 如果是翻页的话,要获得之前的查询语句
if ((pageOffsetTest != null)) {
String oldSearchSql = (String) request.getSession()
.getAttribute("OLDSGSEARCH");
queryform.setSearchsql(oldSearchSql);
searchsql = oldSearchSql;
}
// 根据不同的操作重新设置查询语句
if (searchaction.equals("search")) {
curpage = 1;
queryform.resetReseach();
} else if (searchaction.equals("goto")) {
if (null == searchsql) {
searchsql = " where (category not like '%org.hibernate.tool.hbm2ddl.SchemaUpdate%')";
}
offset = (curpage - 1) * pagesize;
} else if (searchaction.equals("reset")) {
queryform.reset();
curpage = queryform.getCurpage();
pagesize = queryform.getPagesize();
searchsql = " where (category not like '%org.hibernate.tool.hbm2ddl.SchemaUpdate%')";
} else {
if (null == searchsql) {
searchsql = " where (category not like '%org.hibernate.tool.hbm2ddl.SchemaUpdate%')";
}
String pageOffset = request.getParameter("pager.offset");
if ((pageOffset == null) || pageOffset.equals("")) {
offset = 0;
} else {
offset = Integer.parseInt(pageOffset);
}
if (pagesize != 0) {
queryform.setCurpage((offset / pagesize) + 1);
} else {
queryform.setCurpage(1);
}
}
List listresult = new ArrayList();
// System.out.println(searchsql);
list1 = logDAO.getSqlresult(searchsql);
List<Log> list=new ArrayList<Log>();
for(int i=0;i<list1.size();i++){
Log log=(Log)(list1.get(i));
log.setSerialnumber((long)(i+1));
list.add(log);
}
if (list.size() < offset) {
offset = 0;
}
if (pagesize != 0) {
if (list.size() >= offset + pagesize) {
listresult = list.subList(offset, offset + pagesize);
} else {
listresult = list.subList(offset, list.size());
}
}
String url = request.getRequestURI();
String pagerHeader = Pager.generateall(offset, list.size(),
pagesize, url);
request.setAttribute("pagerHeader", pagerHeader);
request.setAttribute("LOGLIST", listresult);
} catch (Exception e) {
return mapping.findForward(Constant.FAILURE);
}
return mapping.findForward(Constant.SUCCESS);
}
private String getSearchsql(EntrySearchForm form) {
String searchitem = form.getSearchitem();
String searchvalue = form.getSearchvalue();
String searchvalue1 = form.getSearchvalue1();// 开始日期
String searchvalue2 = form.getSearchvalue2();// 结束日期
StringBuffer searchsql = new StringBuffer();
searchvalue1 = searchvalue1 + " 00:00:00";
searchvalue2 = searchvalue2 + " 23:59:59";
if (!searchvalue.equals("") && searchitem.equals("message")) {
searchsql.append(" where (message like " + " '%"
+ searchvalue.trim() + "%') and (category not like '%org.hibernate.tool.hbm2ddl.SchemaUpdate%')");
}
else if ((!searchvalue1.equals("")) && (!searchvalue2.equals(""))
&& searchitem.equals("createdate")) {
searchsql.append(" where (createdate >=" + "'" + searchvalue1 + "')"
+ " and (createdate <=" + "'" + searchvalue2 + "') and (category not like '%org.hibernate.tool.hbm2ddl.SchemaUpdate%')");
}
else{
searchsql.append(" where (category not like '%org.hibernate.tool.hbm2ddl.SchemaUpdate%')");
}
return searchsql.toString();
}
public ILogDAO getLogDAO() {
return logDAO;
}
public void setLogDAO(ILogDAO logDAO) {
this.logDAO = logDAO;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -