高分求MVC模式SQL分页完整示例!要求:
不想要存储过程的,不需要jsp页面用rs实现的,要MVC模式的,struts的可以
或者用jpager,displaytag实现的完整示例也可以!要完整的MVC模式示例!我想要的是用select top……,或者oracle rownum sql语句实现的MVC分页完整代码
M 是设置页面数据,C 控制分页的方法,V 只显示分页无操作代码,不符合要求的不给分!能够实现的我可以加分!
也可以发到

解决方案 »

  1.   

    不知道是你自己不太明白还是说的不太明白,反正我是被你搞的不太
    明白!
      我用struts框架做的一个网站,很简单的,也是三层,实现了分页的功能!
    你所说的M 是设置页面数据,C 控制分页的方法,V 只显示分页无操作代码
    大概是说不能把分页的实现代码放在JSP页面吧!
      

  2.   

    是这个意思,如果分页实现写在jsp里面那就不是mvc了,真的这么难吗,有没人有高手愿意教教我们啊。
      

  3.   

    取 100-200的记录 (ID 为主健)
    Select top 100 from tbname where Id not in (Select top 100 Id form tbname );
    这样一个SQL行吗?
      

  4.   

    感觉楼主过于追求so called mvc
      

  5.   

    struts+hibernate+pager taglib实现
      

  6.   

    我有一个,应该符合你的要求,不过是jsp+servlet+javabean的
      

  7.   

    也给我发一个吧..谢谢了[email protected]
      

  8.   

    我也要谢谢了[email protected]
      

  9.   

    假设结果集存放在net.newxy.struts_faces.FormBean类型的java bean中,利用newxy的导航标签可以极方便的实现数据分页显示。如果java bean的产生来源于struts,那么需要开发者的FormBean类继承net.newxy.struts_faces.FormBean。java bean产生的极方便方法是用newxy的<nhtml:formBean/>标签。举例:<%@ page contentType="text/html; charset=GBK" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><%@ taglib uri="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
    <%@ taglib uri="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>
    <%@ taglib uri="/WEB-INF/newxy-bean.tld" prefix="nbean"%><nhtml:javascripts/>
    <nhtml:stylesheets/><nbean:formBean name="industry" sql="select * from industry"/>
    <logic:present name="industry">
      <logic:notEmpty name="industry" property="_coll">
        <div align="center" style="font-size:14px"><b>== 行 业 ==</b></div>
        <div><nlogic:navigate formName="industry" length="20"/></div>
        <table>
        <nlogic:iterate id="rec" name="industry" property="_coll">
          <nhtml:TR >
            <td style="font-size:14px;color:#000088;cursor:hand">
                <bean:write name="rec" property="code"/>
                <bean:write name="rec" property="industry"/>
            </td>
          </nhtml:TR>
        </nlogic:iterate>
        </table>
      </logic:notEmpty>
    </logic:present>每页显示20条行业代码及行业信息,默认为25条。java bean 中有一属性为_coll,此属性为Collection类型,保存了查询结果。
    newxy(新座标)技术网站 http://www.newxy.net
      

  10.   

    int PageSize = 15;
    public int getPageSize()
    {
    return PageSize;
    }
    //返回总页数
    public int getPageCount(int RecordCount)
    {
    return (RecordCount%PageSize==0)?(RecordCount/PageSize):(RecordCount/PageSize+1);
    }
    //页面数整数化方法
    public int parseInt(String s) 
    {
    if (s == null) 
    {
    return 1;
    }
    try 
    {
    return Integer.parseInt(s);
    }
    catch (NumberFormatException nfe) 
    {
    return 1;
    }
    }
    //返回的sql操作语句,注意:语句中不得用联接操作
    //第一个参数为当前页,第二个参数为要显示的列,第三个参数要操作的表,第四个参数为主键
    //第五个参数为查询条件,第六个为排序规则
    //如此生成的SQL语句直接执行就可以得结果
    //应用的时候先用select count(*)和第三个参数以及第五个参数得出总记录数
    //用getPagesize方法取得每页记录数,当然你可以写一个setPagesize方法来临时设定
    //用getPageCount获得总页面数
    //然后构造查询列和查询条件以及排序规则即可,下面有一个例子可以看看public String getPageSql(int CurPage,String Columns,String Tables,String PrimaryKey,String Station,String OrderKey)
    {
    String s = "select top "+PageSize+" " + Columns;
       s = s + " from " + Tables;
       s = s + " where " + PrimaryKey + " not in(";
           s = s + "select top " + (CurPage-1)*PageSize + " " + PrimaryKey;
       s = s + " from " + Tables + " where " + Station + "Order by " + OrderKey + ")";
       s = s + " and " + Station + " order by " + OrderKey;
    return s;
    }//显示分页标志块
    public String  sp_page(String FileDirect,int CurPage,int PageCount,int RecordCount)
    {
    String numstr = "共<span style='color:#ff0000'>&nbsp;" + RecordCount + "</span>&nbsp;条记录&nbsp;&nbsp;";
           numstr = numstr + "<span style='color:#ff0000'>" + CurPage;
           numstr = numstr + "&nbsp;</span>/<span style='color:#ff0000'>&nbsp;" + PageCount + "</span>";
    String str=null;
    if(PageCount>1)
    {
    if(CurPage==1)
    {
    str = "&nbsp;&nbsp;<span style='font-family:webdings'>";
    str = str + "9&nbsp;&nbsp;7&nbsp;&nbsp;";
    str = str + "<A HREF='" + FileDirect + "Page=2' title='下一页'>8</A>&nbsp;&nbsp;";
    str = str + "<A HREF='" + FileDirect + "Page=" + PageCount + "' title='最后页'>:</A>&nbsp;&nbsp;</span>";
    }
    else if(CurPage==PageCount)
    {
    str = "&nbsp;&nbsp;<span style='font-family:webdings'>";
    str = str + "<A HREF='" + FileDirect + "Page=1' title='第一页'>9</A>&nbsp;&nbsp;";
    str = str + "<A HREF='" + FileDirect + "Page=" + (PageCount-1) + "' title='前一页'>7</A>&nbsp;&nbsp;";
    str = str + "8&nbsp;&nbsp;:&nbsp;&nbsp;</span>";
    }
    else
    {
    str = "&nbsp;&nbsp;<span style='font-family:webdings'>";
    str = str + "<A HREF='" + FileDirect + "Page=1' title='第一页'>9</A>&nbsp;&nbsp;";
    str = str + "<A HREF='" + FileDirect + "Page=" + (CurPage-1) + "' title='上一页'>7</A>&nbsp;&nbsp;";
    str = str + "<A HREF='" + FileDirect + "Page=" + (CurPage+1) + "' title='下一页'>8</A>&nbsp;&nbsp;";
    str = str + "<A HREF='" + FileDirect + "Page=" + PageCount + "' title='最后页'>:</A>&nbsp;&nbsp;</span>";
    }
    }
    else
    {
    str = "&nbsp;&nbsp;<span style='font-family:webdings'>";
    str = str + "9&nbsp;&nbsp;7&nbsp;&nbsp;8&nbsp;&nbsp;:&nbsp;&nbsp;</span>";
    }
    return numstr + str;
    }//example:注意SelectRecord为javabean获得记录集rs的方法
    String Station = "1=1 and CYear="+CYear+" and DeType<>0 and isDel="+dFlag;//查询条件
    rs = db.SelectRecord("select count(*) from s_deputy where "+Station);
    rs.first();
    int RecordCount = rs.getInt(1);
    int PageCount = db.getPageCount(RecordCount);
    int Page  = db.parseInt(request.getParameter("Page"));
    if(RecordCount!=0)
    {

    Page = (Page<1)?1:Page;//小于1为第1页
    Page = (Page>PageCount)?PageCount:Page;//大于最大页取最大页
    String Columns = "A.ID,A.DeName,A.DeSimName,A.LoginName,";//所在获得的列
       Columns = Columns + "(select DeTypeName from s_DeType where ID=A.DeType) as DeType,A.DeCode";    
    String Tables = "s_deputy as A";//操作的表
    String PrimaryKey = "ID";//主键字
    String OrderKey = "A.DeName";//排序关键字
    String strSQL = db.getPageSql(Page,Columns,Tables,PrimaryKey,Station,OrderKey);
    //out.println(strSQL);
    rs = db.SelectRecord(strSQL);
    }
      

  11.   

    最后加上分页导航的调用 
    String PageNav = db.sp_page("mana_deputy.jsp?dFlag=" + dFlag + "&",Page,PageCount,RecordCount);
    out.println(PageNav);
      

  12.   

    ahshow (涛涛)  fangyu01060426(假如愛有天意)
    thefirstwind(♂猜猜♂) 我给你们发了!请查收
      

  13.   

    zunshanke2004() 能不能给我发一份啊?
    [email protected]
      

  14.   

    zunshanke2004() 兄能否再发一份,劳驾,谢谢。
    [email protected]
      

  15.   

    JavaBean里写两个方法,然后在Servlet里调用一下,用不到存储过程
      

  16.   

    给我一份
    [email protected]谢谢
      

  17.   

    谁有代码,发一份给我啊
    [email protected]