分页显示列表的学习

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<cn.com.icbc.domain.User> result;
public UserPage() {
}
public UserPage(Integer curPage,Integer sumPage, Integer totalRecord, List<cn.com.icbc.domain.User> 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<cn.com.icbc.domain.User> getResult() {
return result;
}
public void setResult(List<cn.com.icbc.domain.User> 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<cn.com.icbc.domain.User> list=new ArrayList<cn.com.icbc.domain.User>();
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<cn.com.icbc.domain.TRole> 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"%>
<html>
<head>

<title>选择要添加的人员</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

<script type="text/javascript">

function selectUser(id,name){
if(window.opener){
window.opener.document.all.teacherid.value = id;
window.opener.document.all.teacher.value = name;
window.close();
}
}
function selchange(sel){
var un="";
var val = sel.options[sel.selectedIndex].value;
var url;
for (var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name == 'chg')
{
if (e.checked){
un=form.elements[i].value+","+un;
}
}
}
if (un==""){
alert("请选择要"+val+"的对象!");
return false;
}
if (val=="充值"){
location.href="user/userCharge.jsp?un="+un,"","width=400,height=200,left=150,top=200";
}
if (val=="更改单位"){
location.href="changeArea.action?un="+un,"","width=400,height=200,left=150,top=200";
}
if (val=="更改角色"){
location.href="changeRole.action?un="+un,"","width=400,height=200,left=150,top=200";
}
if (val=="集体选课"){
alert("正在建设中!");
//location.href="/netteach/user_ChoseLesson.asp?un="+un,"","width=500,height=500,left=150,top=200";
}
}

function Check(form) {
for (var i=0;i<form.elements.length;i++) {
var e = form.elements[i];
if (e.name == 'chg')
e.checked = form.chkall.checked;
}
}

///判断添加时有没有选择用户
function isSelect(){
var len = document.getElementsByName("chg").length;
var checked = false;
for(var i = 0;i<len;i++){
if(document.addform.chg[i].checked == true){
checked = true;
break;
}
}
if(!checked){
alert("请选择要添加的人员");
return false;
}else if(confirm("你真的要添加吗?")){
return true;
}else{
return false;
}
}
</script>

</head>

<body>

<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="50%" background="images/btbg.gif" class="xb1">
<img src="images/ico_5.gif" width="15" height="13">
<strong><font color="#669900">您的位置:</font><font color="#660066">
用户管理>></font></td><td align=right background="images/btbg.gif" class="xb1">
</td>
</tr>
</table>
<form action="viewAllUser.action" method="post" name="form">
<table width="100%" border="0">
<tr>
<td width="70%">

<table width='100%' border=1 cellspacing=0 cellpadding=1 align=center bordercolordark=#FFFFFF bordercolorlight=#CCCCCC>
<tr>
<td width="22%" >搜索条件</td>
<td colspan="3" align="right" valign="top"></td>
</tr>

<tr>
<td align="right">地区:</td>
<td width="23%">

<script type="text/javascript">
//<![CDATA[
var ar=new Array()
<%
int arNum=0 ;
String cat="";
String cat1="";
List <TAreaAndDepart> projectList=(List<TAreaAndDepart>) request.getAttribute("areaList");
for(int k=0;k<projectList.size();k++){
TAreaAndDepart projectType=projectList.get(k);
int projecti=projectType.getAreaId();
List <Map> courseList=(List<Map>) request.getAttribute("depList");
for (int i=0;i<courseList.size();i++){
Map managermap=(Map)courseList.get(i);
List<TAreaAndDepart> list=(List<TAreaAndDepart>)managermap.get(projecti);
if (list!=null){//
for (int j=0;j<list.size();j++){
if (j==0){
cat=projectType.getAreaName();
}else{
cat="";
}
int coursei=list.get(j).getAreaId();
out.println("ar["+arNum+"]=new Array('"+projecti+"','"+cat+"','"+coursei+"','"+list.get(j).getAreaName()+"')");
arNum=arNum+1 ;
}
}//IF
}
}
%>
function showCat(){
var catItem=1
var cat1Item=0
var i
document.all.cat.length=0
document.all.cat.options[0]=new Option('--所有--','0')
for(i=0; i < ar.length;i++){
if (ar[i][1]!==""){
document.all.cat.options[catItem]=new Option(ar[i][1],ar[i][0])
if(${requestScope.cat}==ar[i][0]){
document.all.cat.options[catItem].selected=true
}
catItem++
}
if(ar[i][0]==0){
document.all.cat1.options[cat1Item]=new Option(ar[i][3],ar[i][2])
cat1Item++
}
} //shawl.qiu script
catChg()
}
window.οnlοad=showCat;
function catChg(){
var cat1Item=1
var catSleVal=document.all.cat.value
document.all.cat1.length=0
document.all.cat1.options[0]=new Option('--所有--','0')
for (i=0;i<ar.length;i++){
if(ar[i][0]==catSleVal){
document.all.cat1.options[cat1Item]=new Option(ar[i][3],ar[i][2])
if(${requestScope.cat1}==ar[i][2]){
document.all.cat1.options[cat1Item].selected=true
}
cat1Item++
}
}//shawl.qiu script
}
//]]>
</script>
<select name="cat" id="cat" οnchange="catChg()">
</select>
</td>
<td width="16%" align=right>单位:</td>
<td width="39%">
<select name="cat1" id="cat1">
<option value='0'>--所有--</option>
</select> </td>
</tr>
<tr>
<td align="right">角色:</td>
<td>
<select class='unnamed2' name='roleID'>
<option value='0'>--所有--</option>
<c:forEach items="${requestScope.tRole}" var="cast">
<option value='${cast.roleId }'
<c:if test="${cast.roleId eq requestScope.roleID}">selected</c:if>
>${cast.roleName }</option>
</c:forEach>
</select></td>
<td align="right">显示记录数:</td>
<td>
<input name="maxPer" type="text" value="${requestScope.maxPer}" size="3" maxlength="3" class="buttonface">条</td>
</tr>
<tr>
<td align="right">用户名:</td>
<td colspan="3"><input name="un" type="text" value="${requestScope.un}" class="buttonface">
<input name="exact" type="checkbox" value="1" <c:if test="${requestScope.exact eq 1}">checked</c:if>>完全匹配<span class="fupiaoti">
<input name="btnSubmit2" class="buttonface" type="submit" value="搜索">
</span></td>
</tr>

<tr>
</tr>
</table>

</td>
</tr>

<tr>
<td align="center" valign="top">
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr bgcolor='#E2E2E2'>
<td width=5% class=xb1 align=center>选择</td>
<td width=5% class=xb1 align=center><font color=#000000>序号</font></td>
<td align=center class=xb1 width='15%'><font color=#000000>登录名</font></td>
<td align=center width=15% class=xb1><font color=#000000>姓名</font></td>
<td align=center width=20% class=xb1><font color=#000000>地区部门</font></td>
<td align=center width=10% class=xb1><font color=#000000>角色</font></td>
<td align=center width=10% class=xb1><font color=#000000>登陆密码</font></td>
<td align=center width=15% class=xb1><font color=#000000>登录时间</font></td>
</tr>
<c:set value="${(requestScope.up.curPage-1)*requestScope.up.perPage}" var="xh"></c:set>
<c:forEach var="cast" items="${requestScope.up.result}" varStatus="vs">
<tr>
<td class=xb1 valign=middle align=center height=22><input type="radio" name="userName" οnclick="selectUser('${cast.userName}','${cast.userTrueName}');"></td>
<td class=xb1 valign=middle align=center height=22>${vs.count +xh}</td>
<td class=xb1 align=left>
<c:choose>
<c:when test="${cast.state eq 9}">
<img src="images/news-dian.gif">
</c:when>
<c:otherwise>
<img src="images/news-dian1.gif">
</c:otherwise>
</c:choose>
${cast.userName }
</td>
<td class=xb1 align=center>
${cast.userTrueName }
</td>
<td class=xb1 align=center>${cast.areaName } </td>
<td class=xb1 align=center>${cast.roleName }</td>
<td class=xb1 align=center>${cast.userPassword }</td>
<td class=xb1 align=center>${cast.lastLoginTime } </td>
</tr>
</c:forEach>
</table>
<!-- 分页的底部 -->
<c:if test="${requestScope.up.sumPage>1}">
<c:set value="viewAllUser.action?${requestScope.queryStr}&" var="filename"></c:set>
<table align='center' class='text' width='100%'>
<tr bgcolor=white><td colspan=4 align=right>
<c:if test="${requestScope.up.curPage>1}">
<a href="${filename}page=1">首页</a>
<a href="${filename}page=${requestScope.up.curPage-1}">上页</a>
</c:if>
<c:if test="${requestScope.up.sumPage-requestScope.up.curPage>0}">
<a href="${filename}page=${requestScope.up.curPage+1}">下一页</a>
<a href="${filename}page=${requestScope.up.sumPage}">尾页</a>
</c:if>
<font color=red>${requestScope.up.curPage}</font>/
<font color='#000080'>${requestScope.up.sumPage}页</font>
<font color='#000080'>  共<b>${requestScope.up.totalRecord}</b>篇<b>  ${requestScope.up.perPage}</b>/页</font>
</td></tr>
</table>
</c:if>
<!-- 分页的底部结束 -->

</td>
</tr>
</table>
</form>
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值