分页显示列表的学习

1,分页存储结果的JavaBean:UserPage.java
package cn.com.icbc.domain;
import java.util.List;
public class UserPage implements java.io.Serializable {
private Integer curPage;
private Integer sumPage;
private Integer totalRecord;
private Integer perPage;
private List result;
public UserPage() {
}
public UserPage(Integer curPage,Integer sumPage, Integer totalRecord, List result) {
this.curPage = curPage;
this.sumPage = sumPage;
this.totalRecord = totalRecord;
this.result = result;
}
public Integer getCurPage() {
return curPage;
}
public void setCurPage(Integer curPage) {
this.curPage = curPage;
}
public Integer getSumPage() {
return sumPage;
}
public void setSumPage(Integer sumPage) {
this.sumPage = sumPage;
}
public Integer getTotalRecord() {
return totalRecord;
}
public void setTotalRecord(Integer totalRecord) {
this.totalRecord = totalRecord;
}
public List getResult() {
return result;
}
public void setResult(List result) {
this.result = result;
}
public Integer getPerPage() {
return perPage;
}
public void setPerPage(Integer perPage) {
this.perPage = perPage;
}
}
2,service层,ManageSerice.java
/**
* 用户管理--搜索用户
* @param lid
* @param currPage
* @param maxPerPage
* @return
*/
public cn.com.icbc.domain.UserPage searchUserPage(String lid,int currPage,int maxPerPage){
Connection conn = DateBaseUtil.getConnection();
ProcedureDao ntDao=new ProcedureDao();
ResultSet rs=null;
cn.com.icbc.domain.UserPage up=new cn.com.icbc.domain.UserPage();

String sql1="select count(*) as cont from v_user "+lid;

rs=ntDao.listResByPage(conn,sql1);//得到总记录数
int sumRecord=0;
try {
rs.next();
sumRecord=rs.getInt("cont");
if (sumRecord==0){
return null;
}
up.setTotalRecord(sumRecord);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}

int topCount=(currPage- 1)*maxPerPage;
int pageCont=0;//总页数
if(sumRecord%maxPerPage==0){
pageCont=sumRecord/maxPerPage;
}
else{
pageCont=sumRecord/maxPerPage+1;
}
up.setSumPage(pageCont);
if (currPage>pageCont)
currPage=pageCont;
up.setCurPage(currPage);
up.setPerPage(maxPerPage);

sql1="select top "+topCount+" user_name from [V_user] "+lid+" order by Reg_Date desc";
String sql="select top "+maxPerPage+" * from [V_user] "+lid +" and not user_name in ("+sql1+") order by Reg_Date desc";

rs=ntDao.listResByPage(conn,sql);
if (rs==null){
return null;
}
else{
try {
List list=new ArrayList();
while(rs.next()){
cn.com.icbc.domain.User tlr=new cn.com.icbc.domain.User();
tlr.setRoleName(rs.getString("RoleName"));
tlr.setAreaName(rs.getString("areaName"));
// tlr.setPName(rs.getString("pName"));
tlr.setUserName(rs.getString("User_name"));
tlr.setUserPassword(rs.getString("User_Password"));
tlr.setUserTrueName(rs.getString("User_TrueName"));
tlr.setLastLoginTime(rs.getDate("Last_LoginTime"));
tlr.setState(rs.getShort("State"));
list.add(tlr);
}
up.setResult(list);
return up;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}finally{
DateBaseUtil.closeConn(conn);
}

}
}

3,DAO层:ProcedureDao.java
/**
* 分页显示资源
* @param conn
* @param pstr
* @return
*/
public ResultSet listResByPage(Connection conn,String pstr){
PreparedStatement ps = null;
ResultSet rs =null;
try{
ps = conn.prepareStatement(pstr);
rs = ps.executeQuery();
// ps.close();
}catch (Exception e) {
if(Constant.DEBUG){
e.printStackTrace();
}
}
return rs;
}
4,Action层,TrainClassAction.java
/**
* 管理:新增、删除
*/
@SuppressWarnings("unchecked")
public String usermanage(){
NetTeachService nsService=new NetTeachService();
ManageService mService=new ManageService();
HttpSession session=this.session();
if (session.getAttribute("username")!=null ){
//查看是否有权限进入学习中心
String error=nsService.roleEdge("F03.01", 3, String.valueOf(session.getAttribute("RoleID")), 0);
if(!("OK".equals(error))){
return "failure";
}
HttpServletRequest request=this.request();
// int id = Integer.parseInt(request.getParameter("id"));
//
// session.setAttribute("id", id);

if (request.getParameter("btnSubmit")!=null){
if(request.getParameter("chg")!=null){
String userName="";
String[] roleStrs=request.getParameterValues("chg");
for (int i = 0; roleStrs!= null && i < roleStrs.length; i++){
String resultStr = roleStrs[i];
userName=userName+resultStr+",";
}
userName=userName.substring(0, userName.length()-1);

cn.com.icbc.service.MessageService messService=new cn.com.icbc.service.MessageService();
String actionStr=request.getParameter("proc");
if("删除".equals(actionStr)){//
error=mService.delUser(userName,3,0,0);
}
if("锁定".equals(actionStr)){//
error=mService.delUser(userName,4,9,0);
}
if("开通".equals(actionStr)){//
error=mService.delUser(userName,4,1,0);
}
if("屏蔽".equals(actionStr)){//
error=mService.delUser(userName,4,8,0);
}
}
}//btnSubmit
List tRole=mService.getRole(0,1,"","");
request.setAttribute("tRole",tRole);
getArea();

//搜索
int cat=0;
int cat1=0;
if (request.getParameter("cat")!=null){
cat=Integer.parseInt(request.getParameter("cat"));
request.setAttribute("cat", cat);
}else{
request.setAttribute("cat", 0);
}
if (request.getParameter("cat1")!=null){
cat1=Integer.parseInt(request.getParameter("cat1"));
request.setAttribute("cat1", cat1);
}else{
request.setAttribute("cat1", 0);
}
int roleID=0;
if (request.getParameter("roleID")!=null){
roleID=Integer.parseInt(request.getParameter("roleID"));
request.setAttribute("roleID", roleID);
}
int maxPer=10;
if (request.getParameter("maxPer")!=null){
maxPer=Integer.parseInt(request.getParameter("maxPer"));
request.setAttribute("maxPer", maxPer);
}else{
request.setAttribute("maxPer", 10);
}

String un="";
if (request.getParameter("un")!=null){
un=String.valueOf(request.getParameter("un"));
request.setAttribute("un", un);
}
int exact=0;
if (request.getParameter("exact")!=null){
exact=Integer.parseInt(request.getParameter("exact"));
request.setAttribute("exact", exact);
}
int statue=1;
if (request.getParameter("statue")!=null){
statue=Integer.parseInt(request.getParameter("statue"));
request.setAttribute("statue", statue);
}else{
request.setAttribute("statue", 1);
}
String pstr=" where state="+ statue;
if(roleID!=0){
pstr=pstr+" and roleID="+roleID;
}
if(cat1!=0){
pstr=pstr+" and AreaID="+cat1;
}
if(cat!=0){
pstr=pstr+" and pid="+cat;
}
if(!"".equals(un)){
if(exact==1){
pstr=pstr+" and user_name ='"+un+"'";
}else{
pstr=pstr+" and user_name like '%"+un+"%'";
}
}
int currPage=1;
if (request.getParameter("page")!=null){
currPage=Integer.parseInt(request.getParameter("page"));
}
cn.com.icbc.domain.UserPage up=null;
up= mService.searchUserPage(pstr,currPage,maxPer);
request.setAttribute("up", up);
String queryStr="cat="+cat+"&cat1="+cat1+"&roleID="+roleID+"&maxPer="+maxPer+"&un="+un+"&exact="+exact+"&statue="+statue;
request.setAttribute("queryStr", queryStr);



return SUCCESS;
}else {
this.addActionError("您已长时间未操作,或者还未登录,请重新登录平台!");
return "failure";
}
}
5,view层,viewAllUser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="cn.com.icbc.domain.TAreaAndDepart"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ include file="/inc/initMeta.jsp"%>



选择要添加的人员




















您的位置:
用户管理>>






































搜索条件
地区:



单位:
角色:
显示记录数:
用户名:
checked>完全匹配




























选择 序号 登录名 姓名 地区部门 角色 登陆密码 登录时间
${vs.count +xh}








${cast.userName }

${cast.userTrueName }
${cast.areaName }  ${cast.roleName } ${cast.userPassword } ${cast.lastLoginTime } 








首页
上页


下一页
尾页

${requestScope.up.curPage}/
${requestScope.up.sumPage}页
  共${requestScope.up.totalRecord}  ${requestScope.up.perPage}/页








你可能感兴趣的:(SSH)