壮观的动物大迁徙:jsp+struts2+pageUtil ( 列表页面示例)

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 05:00:08
1、分页类:class PageView {
 //查询结果的总条数
 private int totalNum;
 //分页查询的List结果
 private List pageList;
 //每页显示多少条数据
 private int pageSize;
 //总共多少页
 private int pageTotal;
 //当前是第几页
 private int page;
get and set method....}2.daoImpl类public class FindByHqlDaoImpl extends HibernateDaoSupport implements FindByHqlDao{public List findByHql(final String hql,final int offset, final int pageSize)
     {
         List list = getHibernateTemplate()
             .executeFind(new HibernateCallback()
         {
             public Object doInHibernate(Session session)
                 throws HibernateException, SQLException
             {
                 Query query=session.createQuery(hql);
                 if(offset>0){
                     query=query.setFirstResult(offset);
                 }
                 if(pageSize>0){
                     query=query.setMaxResults(pageSize);
                 }
                 return query.list();
               
             }
         });
         return list;
     }
  public List findByHql(final String hql , final Object value ,final int offset)
     {
         return this.findByHql(hql, value, offset, 0);
     }
     public List findByHql(final String hql , final Object value)
     {
         return this.findByHql(hql, value, 0, 0);
     }
     public List findByHql(final String hql, final Object[] values,
         final int offset, final int pageSize)
     {
         List list = getHibernateTemplate()
             .executeFind(new HibernateCallback()
         {
             public Object doInHibernate(Session session)
                 throws HibernateException, SQLException
             {
                 Query query = session.createQuery(hql);
                 for (int i = 0 ; i < values.length ; i++)
                 {
                     query.setParameter( i, values[i]);
                 }
                
                 if(offset>0){
                     query=query.setFirstResult(offset);
                 }
                 if(pageSize>0){
                     query=query.setMaxResults(pageSize);
                 }
                 return query.list();
                 /*
                 List result = query.setFirstResult(offset)
                     .setMaxResults(pageSize)
                     .list();
                 return result;
                 */
             }
         });
         return list;
     }
     public List findByHql(final String hql, final int offset)
     {
         return this.findByHql(hql, offset, 0);
     }
     public List findByHql(final String hql)
     {
         return this.findByHql(hql, 0, 0);
     }
     public List findByHql(final String hql , final Object value ,final int offset, final int pageSize)
     {
         List list = getHibernateTemplate()
             .executeFind(new HibernateCallback()
         {
             public Object doInHibernate(Session session)
                 throws HibernateException, SQLException
             {
                 Query query=session.createQuery(hql).setParameter(0, value);
                 if(offset>0){
                     query=query.setFirstResult(offset);
                 }
                 if(pageSize>0){
                     query=query.setMaxResults(pageSize);
                 }
                 return query.list();
                 /*
                 List result = session.createQuery(hql)
                     .setParameter(0, value)
                     .setFirstResult(offset)
                     .setMaxResults(pageSize)
                     .list();
                 return result;
                 */
             }
         });
         return list;
     }
   
     public List findByHql(final String hql, final Object[] values,final int offset)
     {
         return findByHql(hql,values, offset, 0);
     }
     public List findByHql(final String hql, final Object[] values)
     {
         return findByHql(hql,values, 0, 0);
     }3.action类:class ArticleAction extends ActionSupport {/**
  *添加分页 查找栏目ID下的文章列表
  *
  * @return
  */
 public String findArticlesByFieldIdMethod() {
  int pageNum = 0;
  String pageNum_str = ServletActionContext.getRequest().getParameter(
    "pager.offset");
  if (pageNum_str != null) {
   pageNum = Integer.parseInt(pageNum_str);
  }
  this.findByName = null;
  HttpServletRequest request = ServletActionContext.getRequest();
  Object[] temp = new Object[2];
  temp[0] = this.fieldId;
  if (this.superArtId == 0) {
   temp[1] = new String("s");  } else {
   temp[1] = this.superArtId;
  }
  pageView = model.getArticlePageview(pageNum, temp, 10);
  List
list = pageView.getPageList();
  if (list != null) {
   this.articleList = list;
   field = model.getFieldByFieldId(this.fieldId);
   request.setAttribute("field", field);
   this.fieldName = field.getFieldName();
   return "success";
  } else {
   message = "找栏目ID下面的文章列表异常";
   return "error";
  } } } 4.model类://分页显示文章方法
 public PageView getArticlePageview(int pageNum,Object[] values, int pageSize){
  int totalNum=0;
  if(values[1].equals("s")){
   Long t = (Long)values[0];
   
   totalNum = artDao.findArticleByFieldId(t,0).size();
  }else{
   Long t = (Long)values[0];
   Long t1 = (Long)values[1];
   totalNum= artDao.findArticleByFieldId(t,t1).size();
  }
  int pageTotal = 0;
  if(totalNum%pageSize != 0) {
   pageTotal = (int)(totalNum/pageSize)+1;
  } else {
   pageTotal = totalNum/pageSize;
  }
  int page = pageNum/pageSize+1;
  pageView.setTotalNum(totalNum);
  pageView.setPage(page);
  pageView.setPageTotal(pageTotal);
  pageView.setPageSize(pageSize);
  List pageArtList = artDao.getPageviewListForArt(pageNum,values, pageSize);
  if(pageArtList.size() != 0) {
   pageView.setPageList(pageArtList);
  } else {
   pageView.setPageList(new ArrayList());
  }
  return pageView;
 }5.daoimpl类:class ArticleDaoImpl extends FindByHqlDaoImpl implements ArticleDaopublic List
getPageviewListForArt(int pageNum, Object[] values,
   int pageSize) {
  String hql = "";
  List list = new ArrayList();
  Long fid = (Long)values[0];
  Object aid = values[1];
  if(aid.equals("s")){
   hql = "from Article art where art.artArray is null and art.fieldId.fieldId=? order by art.artStatus desc,art.artSequence";
   values[1]=null;
   System.out.println("null"+hql);
   list  = findByHql(hql, fid, pageNum, pageSize);
  }
  else{
   hql="from Article art where art.artArray.articleId=? and art.fieldId.fieldId=? order by art.artStatus desc, art.artSequence";
   list  = findByHql(hql, values, pageNum, pageSize);
   
  }
  return list;
 }6.jsp页面:<%@ page language="java"
import="java.util.*"
import="com.kmwh.core.pojo.Article"
import="com.kmwh.core.pojo.Fieldsinfo"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://jsptags.com/tags/navigation/pager" prefix="pg" %>
<%@taglib prefix="s" uri="/struts-tags"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>

 
  
  
  
  
  
  
 
 
  
   
    
   
   
    
      
     

     
      
       
      
     

                 cellspacing="0">         
          
          
          
         
        

           
          
           
            action="<%=path%>/article/findArticleListByName.action">
            按文章标题查找:
            
             
              
                             onclick="return CheckForm()">             
             
                             readonly="readonly" />
                             onclick="return CheckForm()">
             

            

           
          

           <%if(session.getAttribute("menuListString").toString().indexOf("superFind/articleInitSuperFind") >= 0)
           {
           %>
                       style="font-size: 12px; color: #174B73; height: 20px; width: 75px; background-image: url(admin/qhimg/button09.gif); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px;"
            href="<%=path%>/superFind/articleInitSuperFind.action">高级查询
            <%
            }
           else{
            %>
            
            <%
            }
            %>
           
          

       

    

           cellspacing="0" cellpadding="0">
      
       
      
     

                 cellspacing="0">         
          
         
         
          
         
        

          
             <%
             long superId = 0;
             Fieldsinfo fields = (Fieldsinfo)request.getAttribute("field");
             if(fields.getSuperField()==null){
              superId=0;
             }
             else{
              superId = fields.getSuperField().getFieldId();
             }
             
             %>
                          href="<%=path%>/fieldsinfo/findFieldsinfoBySuperId.action?superFieldId=<%=superId%>&fieldsinfo.fieldId=${fieldId}">返回栏目

             <%if(session.getAttribute("menuListString").toString().indexOf("admin/article/addArticle.jsp") >= 0)
           {
           %>
                       href="<%=path%>/admin/article/addArticle.jsp?fieldId=${fieldId}"
            class="right-font08">添加文章

            <%
            }
           else{
            %>
            
            <%
            }
            %>
           你的当前在:            href="<%=path%>/article/findArticlesByFieldId.action?fieldId=${fieldId}&superArtId=0"
            class="right-font08">文章管理
 
          

                       cellspacing="1" bgcolor="#464646" class="newfont03">
            
             
            
            
             
                          
             
             
             
             
             
            
            <%
             List temp = (List) request.getAttribute("articleList");
             String artIdStr = "";
             StringBuffer buff = new StringBuffer();
             if (temp != null) {
              for (int i = 0; i < temp.size(); i++) {
               Article art = (Article) temp.get(i);
               buff.append(art.getArticleId());
               buff.append(",");
              }
              artIdStr = buff.toString();
             }             else {
              artIdStr = "temp";             }
            %>
            
            <%
            int seq = 0;
            %>
            
             

              
              
              
              
              
              
              
              
              
                            
              
              
              
              
              
             
             <%
             seq = seq+1;
             
             %>
            
           
              bgcolor="#EEEEEE"
              style="">
              
               
                查询文章标题${findByName}结果列表
                

               
                 ${fieldName}栏目的文章列表
                

              

             

              
               method="post" id="artOrderForm" name="artOrderForm">
               
                               onclick="return artOrder()">
              

             
              bgcolor="#EEEEEE">
              文章标题
             

              顺序操作
             
              bgcolor="#EEEEEE">
              图片管理
             

              文章操作
             

              下级文章
             

              附件管理
             

              评论管理
             

                               value="${flag.articleId}">
              

                               href="<%=path%>/article/getArticleById.action?article.articleId=${flag.articleId}">${flag.artTitle}
              

                               href="<%=path%>/article/moveUpArt.action?article.articleId=${flag.articleId}&artIdStr=<%=artIdStr%>"
                name="moveUp" onclick="return checkMoveUp(this)">上移   
               
               
                
                                   href="<%=path%>/article/updateArtStatus.action?article.articleId=${flag.articleId}">置顶   
                

                
                                   href="<%=path%>/article/updateArtStatus.action?article.articleId=${flag.articleId}">不置顶 
                

               

              

              
              没有图片
              
               图片管理
              

              

              

               
               <%if(session.getAttribute("menuListString").toString().indexOf("admin/article/updateArticleById.jsp") >= 0)
                {
                %>
                                 href="<%=path%>/article/openUpdateArticle.action?artId=${flag.articleId}&fieldId=${fieldId}">修改
                       
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                    
               
               
                
                <%if(session.getAttribute("menuListString").toString().indexOf("article/delArticleById") >= 0)
                {
               %>
                                href="<%=path%>/article/delArticleById.action?artId=${flag.articleId}&fieldId=${fieldId}">删除   
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                 
                

                 
                 <%if(session.getAttribute("menuListString").toString().indexOf("article/delArticleById") >= 0)
                {
               %>
                删除
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                 
                 

               

               <%if(session.getAttribute("menuListString").toString().indexOf("article/openMoveup") >= 0)
                {
               %>
                移动
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
              

               
                
                
                
                <%if(session.getAttribute("menuListString").toString().indexOf("admin/article/addArticle.jsp") >= 0)
                {
               %>
                                href="<%=path%>/admin/article/addArticleByArtId.jsp?artId=${flag.articleId}&fieldId=${fieldId}">添加文章
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                

                
                <%if(session.getAttribute("menuListString").toString().indexOf("article/findArticlesByFieldId") >= 0)
                {
               %>
                                 href="<%=path%>/article/findArticlesByArtId.action?fieldId=${fieldId}&superArtId=${flag.articleId}">查看文章
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                

                

                
                <%if(session.getAttribute("menuListString").toString().indexOf("article/findArticlesByFieldId") >= 0)
                {
               %>
                                href="<%=path%>/admin/article/addArticleByArtId.jsp?artId=${flag.artArray.articleId}&fieldId=${fieldId}">添加文章
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                

               

              

               
                
                 
                 <%if(session.getAttribute("menuListString").toString().indexOf("accessoryFile/openUploadFile") >= 0)
                {
               %>
                                   href="<%=path%>/accessoryFile/openUploadFile.action?artId=${flag.articleId}&fieldId=${fieldId}">添加附件
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                 

                 
                 <%if(session.getAttribute("menuListString").toString().indexOf("accessoryFile/findAccessoryFileByartId") >= 0)
                {
               %>
                                   href="<%=path%>/accessoryFile/findAccessoryFileByartId.action?artId=${flag.articleId}">查看附件
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                  
                 

                

                
                <%if(session.getAttribute("menuListString").toString().indexOf("accessoryFile/findAccessoryFileByartId") >= 0)
                {
               %>
                没有附件
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                

               

              

               
                
                 
                 <%if(session.getAttribute("menuListString").toString().indexOf("reply/openAddReply") >= 0)
                {
               %>
                                   href="<%=path%>/reply/openAddReply.action?artId=${flag.articleId}&userId=1">添加评论
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>

                 
                  
                <%if(session.getAttribute("menuListString").toString().indexOf("article/updateArtComm") >= 0)
                {
               %>
                                   href="<%=path%>/article/updateArtComm.action?artId=${flag.articleId}&fieldId=${fieldId}">取消评论
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                 <%if(session.getAttribute("menuListString").toString().indexOf("reply/findReplyListByArtId") >= 0)
                {
               %>
                                href="<%=path%>/reply/findReplyListByArtId.action?artId=${flag.articleId}">
                   评论列表
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                 

                

                
               
               <%if(session.getAttribute("menuListString").toString().indexOf("article/updateArtComm") >= 0)
                {
               %>
                                  href="<%=path%>/article/updateArtComm.action?artId=${flag.articleId}&fieldId=${fieldId}">设置评论
                 <%
                 }
                else{
                 %>
                 
                 <%
                 }
                 %>
                

               

              

          

       

   
         
           
           
            
            

            

                 共有${ pageView.totalNum } 条记录,
             当前第 ${pageView.page} 页,共 ${pageView.pageTotal}
             

            

           

            
               
                
                 
               
            

                 
                

                        export="currentPageNo = pageNumber" url="article/findArticlesByFieldId.action" maxPageItems="${pageView.pageSize}" maxIndexPages="6">
          
          
          
          
           首页
          

          
           前页
          

          
           
            
             ${ pageNumber }
            

            
             ${ pageNumber }
            

           

          

          
           后页
          

          
           尾页
          

         

           

            

       

  
   
    
     

           style="background: #fff; border: 1px solid #C28F27; padding: 2px 2px 0px 2px; margin: 4px; border-width: 1px 3px 1px 3px; font-size: 12px; color: #A74300;"
      onclick="window.history.go(-1);" />