用SSI来分页  一头雾水  求大哥大姐赐教  有实际的代码更好  没代码给我讲讲思想  用的struts1 
求解!!

解决方案 »

  1.   

    refer to:http://download.csdn.net/source/2592295
    前台的话,最好采用成熟grid组件
      

  2.   

    强烈建议楼主用pagertaglib来实现分页吧,相当简单不用写分页的算法,只需要获取从数据库中查到pagerlist(数据条目) 和pager total(数据条目总数)就行了。它的官方网站是:http://jsptags.com/tags/navigation/pager有不懂的联系我,我也是刚学习了这个分页组件;再给LZ推荐一个组件:Ecside也是相当不错的,若有兴趣学习,可以再联系我的...
      

  3.   

    谢谢  下载下来了  第一次写这个分页 光在JSp里写还好  在SSI中 头都大了 这个插件 我还不会用  你可有例子
      

  4.   

    你是要ecside的例子还是pagertaglib的 例子啊?
      

  5.   

    首先将下载下来的jar包导入WEB-inf目录下,其次在这里还用到了jstl架包你去下一个jstl.jar和standard.jar1:jsp页面介绍
    引用以上的两个标签库
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager"%><body>
    <div style="text-align: center">
    <table align="center" border="1" cellPadding="0" cellSpacing="1">
    <tr bgcolor="#EFF3F7">
    <td>用户ID</td>
    <td>用户名</td>
    <td>密码</td>
    <td>年龄</td>
    <td>删除用户</td>
    <td>更新用户</td>
    </tr> <c:if test="${!empty pm.list}">
    <c:forEach items="${pm.list}" var="us">
    <tr bgcolor="#EFF3F7">
    <td align="center">${us.id}</td>
    <td align="center">${us.username }</td>
    <td align="center">${us.password}</td>
    <td align="center">${us.age}</td>
    <td><a href="removeUser.action?user.id=${us.id}">删除</a></td>
    <td><a href="updateP.action?user.id=${us.id}">更新</a></td>
    </tr>
    </c:forEach>
    </c:if>
    <c:if test="${empty pm.list}">
    <tr>
    <td colspan="5" align="center" bgcolor="#EFF3F7">没有找到相应的记录</td>
    </tr>
    </c:if>
    </table>
    <pg:pager url="pager.action" items="${pm.total}"
    export="currentPageNumber=pageNumber" maxPageItems="5" isOffset="true" scope="request">
    <pg:first>
    <a href="${pageUrl}">首页</a>
    </pg:first>
    <pg:prev>
    <a href="${pageUrl }">前一页</a>
    </pg:prev>
    <pg:pages>
    <c:choose>
    <c:when test="${currentPageNumber eq pageNumber }">
    <font color="red">${pageNumber }</font>
    </c:when>
    <c:otherwise>
    <a href="${pageUrl }">${pageNumber }</a>
    </c:otherwise>
    </c:choose>
    </pg:pages>
    <pg:next>
    <a href="${pageUrl }">后一页</a>
    </pg:next>
    <pg:last>
    <a href="${pageUrl }">尾页</a>
    </pg:last>
    </pg:pager>
    </div>
    </body>2:定义一个PagerModel
    public class PagerModel {

    private int total;
    private List<User> list;
    private int offset;
    private int pagesize;
    //此处省略了它们set get方法
    }3 定义一个PagerModel接口并实现它
    public interface PagerDao { public PagerModel PageAccess(int offset,int pagesize);

    }
    实现接口
    public class PagerDaoImpl extends HibernateDaoSupport implements PagerDao { @SuppressWarnings("unchecked")
    @Override
    public PagerModel PageAccess(int offset,int pagesize) {

    String hql="select count(*) from User";
    int total = ((Long)this.getSession().createQuery(hql).uniqueResult()).intValue();

    Query query = this.getSession().createQuery("from User").setFirstResult(offset).setMaxResults(pagesize);
    List<User> list = query.list(); PagerModel pm = new PagerModel();
    pm.setTotal(total);
    pm.setList(list);
    return pm;
    }
    }4 PagerAction
    public class PagerAction extends ActionSupport { private PagerDao pagerDao;
    private PagerModel pager;//pager为固定写法,在url他是参数名

    //两个属性的set get方法
    @Override
    public String execute() throws Exception {

    int offset=0;
    try {
    if(ServletActionContext.getRequest().getParameter("pager.offset")==null)
    {
    offset=1;
    }
    else{
    offset=Integer.parseInt(ServletActionContext.getRequest().getParameter("pager.offset"));
    }

    } catch (Exception e) {
    e.printStackTrace();
    }

    int pagesize=5;
    System.out.println("pager.offset: " + ServletActionContext.getRequest().getParameter("pager.offset"));
    PagerModel pm = pagerDao.PageAccess(offset,pagesize);

    HttpServletRequest request = ServletActionContext.getRequest();
    request.setCharacterEncoding("UTF-8");
    request.setAttribute("pm", pm);//在jsp页面中遍历其里面的内容和或取pm.total条目总数
    return SUCCESS;
    }

    }经过以上,你就可以实现分页了操作,前提是你现在数据库里面User表中多插入几条数据啊
      

  6.   

    [email protected]    QQ:806316225麻烦了