`
djlijian
  • 浏览: 29412 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

分页显示列表的学习

    博客分类:
  • SSH
阅读更多
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.onload=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" onchange="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" onclick="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 }&nbsp;</td>
<td class=xb1 align=center>${cast.roleName }</td>
<td class=xb1 align=center>${cast.userPassword }</td>
<td class=xb1 align=center>${cast.lastLoginTime }&nbsp;</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'>&nbsp;&nbsp;共<b>${requestScope.up.totalRecord}</b>篇<b>&nbsp;&nbsp;${requestScope.up.perPage}</b>/页</font>
       </td></tr>
   </table>
           </c:if>
      <!-- 分页的底部结束 -->

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

</html>
分享到:
评论

相关推荐

    分页显示模块

    * 学习资源平台:分页显示模块可以用于学习资源平台,用户可以上传和下载学习资源。 5. 分页显示模块的开发技术 分页显示模块可以使用以下开发技术: * 前端框架:使用 HTML、CSS、JavaScript 等前端框架来构建...

    易语言超级列表框加分页

    在处理大量数据时,为了避免一次性加载所有数据导致的性能问题,通常会采用分页显示的方式。分页功能使得用户可以逐页查看数据,而不需要一次性加载所有内容。在易语言中,实现超级列表框的分页功能通常涉及以下几个...

    易语言数据库分页显示

    通过阅读和理解这段代码,你可以学习到如何在易语言中实现数据库分页显示的具体步骤和技术,这对于开发数据库驱动的易语言应用来说是非常实用的技能。在实际项目中,可以根据具体需求进行调整和优化,以适应不同...

    易语言ACCESS数据库分页显示

    通过分析和学习这个源码,你可以更深入地理解如何在易语言中处理ACCESS数据库的分页显示,为自己的项目提供参考。 总之,易语言的ACCESS数据库分页显示技术对于开发高效且用户友好的数据管理应用至关重要。通过掌握...

    文件分页显示程序+报告

    在IT行业中,分页显示是一种常见的用户界面...综上所述,"文件分页显示程序"的实现不仅涉及到汇编语言编程,还包括文件操作、内存管理、用户交互等多个方面的知识,是学习计算机系统原理和编程实践的一个很好的实例。

    易语言数据库分页显示源码

    通过学习这个源码,开发者可以掌握如何在易语言中实现数据库操作,尤其是分页显示技术,这对于开发涉及大量数据展示的应用来说是非常重要的。同时,也能进一步了解易语言与MySQL数据库的交互方式,提升数据库编程...

    分页列表,.net 的一个很好用的分页列表

    这个文件可能是一个学习资源,提供了关于51aspx网站上的.NET源码阅读指南,或许包含了一些分页列表实现的示例或最佳实践。 7. **分页实现**: 在ASP.NET MVC中,通常会使用`PagedList`库来实现分页。开发者会创建...

    vc6.0 实现分页显示的源文件

    在VC6.0环境下,开发一个具有分页功能的应用程序是一项常见的任务...通过学习和理解这个源文件,开发者可以掌握在VC6.0环境下实现分页显示的关键技术和技巧,这对于开发复杂数据展示的Windows应用程序是非常有价值的。

    易语言测试源码,易语言数据库分页显示

    在压缩包中的"数据库分页显示"源码中,你可以看到易语言如何实现上述各个部分的具体代码,通过阅读和学习这段源码,你将能理解易语言处理数据库分页显示的完整流程,这对编写类似的程序会有很大帮助。如果你是易语言...

    VC大数据量的分页显示

    通过案例7-大数据量的分页显示这个压缩包文件,我们可以学习如何在实际项目中应用这些理论知识,包括代码实现、调试技巧以及可能遇到的问题和解决方案。实践中,我们可能还会接触到多线程处理、数据过滤和排序等功能...

    用PHP实现分页显示

    为了解决这个问题,我们通常会采用分页显示的方式,将大量数据分成若干页进行加载。本教程将详细介绍如何用PHP实现分页显示。 一、理解分页原理 分页的基本原理是通过限制每次从数据库中查询的数据数量,然后根据...

    VC分页显示

    这个源码实例对于学习和理解VC环境下如何实现分页显示具有很高的参考价值。开发者可以在此基础上进行扩展,例如增加分页参数的设置,优化数据加载性能,或者实现更复杂的用户交互功能。总的来说,通过学习和复用这些...

    易语言源码access基本操作+通用分页显示

    通过学习这个源码,初学者可以掌握易语言与Access数据库的交互方法,以及如何在应用程序中实现数据的分页显示。对于已经有一定基础的开发者,这个源码也是一个很好的参考,可以帮助他们快速实现类似功能,提高开发...

    分页显示(java+jsp+eclipse+tomcat)

    在IT行业中,分页显示是一种常见的用户界面设计技术,它被广泛应用于网页和应用程序中,以帮助用户更有效地浏览和管理大量数据。本项目“分页显示(java+jsp+eclipse+tomcat)”是基于Java后端、JSP前端、Eclipse...

    jQuery通过分页加载图片列表代码.zip

    在这个“jQuery通过分页加载图片列表代码”示例中,开发者利用jQuery的功能实现了图片列表的分页加载,这在处理大量图片时非常有用,可以减少页面加载时间并提高用户体验。 首先,我们需要理解分页的基本概念。分页...

    分页显示查询的示例代码

    在IT领域,分页显示是数据管理中一个重要的技术,特别是在网页应用或者数据库查询中,当需要处理大量数据时,分页能有效地提高用户体验并减轻服务器的负担。本示例代码将详细介绍如何实现分页查询的功能,通过阅读和...

    分页显示源程序、源代码

    本资源提供的是一个与Java相关的分页显示源代码,旨在帮助学习者理解和实现分页功能。Java作为一种多用途且广泛使用的编程语言,其在Web开发领域中的分页技术是不可或缺的一部分。 分页显示的核心思想是将大量的...

    JSP通用分页显示1.2.rar_java 分页显示_jsp_jsp 分页_jsp 分页_jsp分页

    **JSP分页显示技术详解** 在Web开发中,数据量较大的时候,通常需要采用分页的方式来展示数据,以提高用户体验并减轻服务器负担。JSP(JavaServer Pages)作为Java平台上的动态网页技术,提供了丰富的功能来实现这...

    asp+access分页显示实例

    本实例展示了如何利用ASP和Access数据库实现文章列表的分页显示。以下是对这个实例中涉及的关键知识点的详细说明: 1. ASP(Active Server Pages):ASP是微软推出的一种服务器端脚本环境,它允许开发人员创建动态...

Global site tag (gtag.js) - Google Analytics