package count.web;
import java.util.*;
import javax.servlet.http.*;
import common.spring.web.*;
import iclass.page.*;
import iclass.plugin.*;
import count.pojo.*;
import org.apache.commons.beanutils.*;
import org.apache.log4j.*;
import org.apache.struts.action.*;
/**
* <p>Title: 注册需要计数的程序名到计数器数据库</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author 段洪杰
* @version 1.0
*/
public class AppAction extends BaseAction {
private static Logger log = Logger.getLogger(AppAction.class);
private int rowsPerPage = 20; //分页时,显示的每页行数
/**
* 初始化 service
* @param actionServlet ActionServlet
*/
public void setServlet(ActionServlet actionServlet) {
super.setServlet(actionServlet);
}
/**
* 数据录入
* @param mapping ActionMapping
* @param form ActionForm
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ActionForward
* @throws Exception
*/
public ActionForward set(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws
Exception {
AppForm appForm = (AppForm) form;
appForm.setCreateDate(new Date());
App app = new App();
PropertyUtils.copyProperties(app, appForm);
//输入时,对app的信息进行过滤
InitFiltrate.getBeanFiltrate().filtrate(app, "in");
getCountService().setApp(app);
request.setAttribute("message", "信息录入完成!");
request.setAttribute("locationFile",
"<A HREF=/"javascript:history.back()/">返回</A>");
return (mapping.findForward("message"));
}
/**
* 查看一条记录
* @param mapping ActionMapping
* @param form ActionForm
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ActionForward
* @throws Exception
*/
public ActionForward view(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws
Exception {
String id = request.getParameter("id");
App app = (App) getCountService().getAppById(id);
//输出时,对app的信息进行过滤
InitFiltrate.getBeanFiltrate().filtrate(app, "out");
request.setAttribute("app", app);
return (mapping.findForward("view"));
}
/**
* 删除一条记录
* @param mapping ActionMapping
* @param form ActionForm
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ActionForward
* @throws Exception
*/
public ActionForward remove(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws
Exception {
String url = request.getHeader("Referer");
if (url == null || url.equals("")) {
url = "javascript:history.back()";
}
//取得用户注册名
SessionBean sessionBean = (SessionBean) request.getSession().
getAttribute("sessionBean");
String registerName = sessionBean.getRegisterName();
String id = request.getParameter("id");
getCountService().removeAppById(id);
request.setAttribute("message", "信息删除完成!");
request.setAttribute("locationFile", "<A HREF=/"" + url + "/">返回</A>");
return (mapping.findForward("message"));
}
/**
* 按用户注册名分页显示所有内容
* @param mapping ActionMapping
* @param form ActionForm
* @param request HttpServletRequest
* @param response HttpServletResponse
* @return ActionForward
* @throws Exception
*/
public ActionForward list(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws
Exception {
//分页控制
PageControl pageControl = null;
//取得的集合
Iterator apps = null;
//总记录数,当前页
int maxRowCount, curPage;
//得当前页号
String currentpage = request.getParameter("currentpage");
//实例化DAO
if (currentpage == null) {
//当前页设为1
curPage = 1;
} else {
//把取得的参数转为整型
curPage = Integer.parseInt(currentpage);
}
//计算记录总数
maxRowCount = getCountService().getAppsCount();
//分页控制类
pageControl = PageControlFactory.getPageControlLink("AppAction.do",
"method=listByRegisterName", maxRowCount, curPage, rowsPerPage);
apps = getCountService().getApps(pageControl.getPosition(), this.rowsPerPage);
request.setAttribute("pageControl", pageControl);
request.setAttribute("apps", apps);
return (mapping.findForward("list"));
}
}