<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    龍行天下

      政 博
    隨筆 - 23, 文章 - 0, 評論 - 12, 引用 - 0
    數據加載中……

    struts中的分頁實例

    struts中的分頁實例?
    ??
    ??? 這僅是一個入門實例,簡潔實用,從網上整理而來,供參考。這里僅列出部分文件,其它文件、數據庫及目錄結構請從本站下載。
    一、struts-config.xml配置,主要是配數據庫,這里用access。
    <?xml version="1.0" encoding="ISO-8859-1" ?>

    <!DOCTYPE struts-config PUBLIC
    ????????? "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    ????????? "


    <struts-config>
    <data-sources>
    ?? <data-source key="dataSource" type="org.apache.commons.dbcp.BasicDataSource">
    ??????????? <set-property property="driverClassName" value="sun.jdbc.odbc.JdbcOdbcDriver" />
    ??????????? <set-property property="url" value="jdbc:odbc:page" />
    ??????????? <set-property property="username" value="admin" />
    ??????????? <set-property property="password" value="" />
    ??????????? <set-property property="maxActive" value="20" />
    ??????????? <set-property property="maxWait" value="5000" />
    ??????????? <set-property property="defaultAutoCommit" value="true" />
    ??????????? <set-property property="defaultReadOnly" value="false" />
    ??????????? <set-property property="validationQuery" value="SELECT 1" />
    ??????????? <set-property property="removeAbandoned" value="true" />
    ??????????? <set-property property="removeAbandonedTimeout" value="120" />????????????
    ??????????? <set-property property="encoding" value="false" />????????????
    ??????? </data-source>

    ?</data-sources>
    ? <form-beans>
    ? </form-beans>
    ? <global-forwards>
    ? </global-forwards>

    ? <action-mappings>
    ? <action path="/page" type="page.DataSourceAction" scope="request">
    ? <forward name="success" path="/pagetest.jsp"/>
    ? </action>
    ? </action-mappings>

    ? <controller>
    ? </controller>
    </struts-config>

    二、Action類
    用 page.do?start=1 來顯示第一個頁面?
    參數說明:?
    ? list:信息列表?
    ? start:開始位置?
    ? page:每頁顯示的信息數目?
    ? pages: 總頁數
    ? previous:上頁開始位置?
    ? next:下頁開始位置?

    package page;
    import org.apache.struts.action.*;
    import javax.servlet.http.*;

    import java.util.*;
    import javax.sql.*;
    import java.sql.*;
    import bean.*;

    public class DataSourceAction extends Action {

    ?public DataSourceAction(){}
    ?
    ?public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
    ?HttpServletResponse response) throws Exception {???
    ? try{
    ????? DataSource ds=this.getDataSource(request,"dataSource");???
    ????? Connection con = ds.getConnection();
    ????? Statement stmt = con.createStatement();
    ????? ResultSet resultSet = stmt.executeQuery("select count(*) from book" );?
    ????? resultSet.next();?
    ????? int data_num=resultSet.getInt(1);?
    ????? int start=1;
    ????? int page = 4; //每頁的記錄數。
    ????? int pages=data_num/page;
    ????? if(data_num%page!=0)
    ???????? pages++;
    ????? if(request.getParameter("start")!=null)
    ????????? start = Integer.parseInt(request.getParameter("start"));?
    ????? if(request.getParameter("go")!=null){
    ??????????????? int go = Integer.parseInt(request.getParameter("go"));?
    ??????????????? if(go<=1)
    ????????????????? start=1;
    ??????????????? else if(go>pages)
    ????????????????? start=(pages-1)*page+1;
    ??????????????? else?
    ?????????????????? start=(go-1)*page+1;
    ?????? }?
    ?????
    ????? String sql = "SELECT * FROM book where id>="+start+" and id<"+(start+page);
    ????? resultSet = stmt.executeQuery(sql);??
    ????? ArrayList list = new java.util.ArrayList();?
    ????? while(resultSet.next())
    ????? {??
    ??????? int id=resultSet.getInt("id");
    ??????? String name = resultSet.getString("name");
    ??????? String author = resultSet.getString("author");
    ??????? String price = resultSet.getString("price");
    ??????? System.out.println("開始數據封裝:name="+name+"author="+author+"price="+price);
    ??????? Book book= new Book(id,name,author,price);???????
    ??????? list.add(book);
    ????? }
    ??? con.close();
    ??? request.setAttribute("pages",new Integer(pages));
    ??? request.setAttribute("list",list);
    ??? //request.setAttribute("start", new Integer(start));?
    ??? request.setAttribute("page", new Integer(page));?

    ??????? // if there is a previous page, set the previous variable?
    ??????? int previous = start-page;?
    ??????? if ( previous>=0 ){?
    ??????????? request.setAttribute("previous", new Integer(previous));?
    ??????????? System.out.println ("previous:" + previous);?
    ??????? }?

    ??????? // if there is a next page, set the next variable?
    ??????? int next = start+page;?
    ??????? if ( next<=data_num ){?
    ??????????? request.setAttribute("next", new Integer(next));?
    ??????????? System.out.println ("next:" + next);?
    ??????? }?

    ?? }catch(SQLException e){
    ????????? e.printStackTrace();
    ????????? System.out.println("數據庫連接出現異常");
    ????? }?
    ???
    ???????????? return (mapping.findForward("success"));
    ? }?
    }


    三、bean類Book.java
    package bean;
    import java.sql.*;
    import java.util.ArrayList;
    public class Book {
    ?int id;
    ?private String bookname; //書名
    ?private String author;?? //作者
    ?private String price;??? //價格
    ?
    public Book(int id,String name,String author,String price){
    ?this.id=id;
    ?this.bookname=name;
    ?this.author=author;
    ?this.price=price;
    }

    public int getId(){?
    ??????? return id;?
    ??? }?

    ?public String getAuthor() {
    ? return author;
    ?}

    ?public void setAuthor(String author) {
    ? this.author = author;
    ?}

    ?public String getBookname() {
    ? return bookname;
    ?}

    ?public void setBookname(String bookname) {
    ? this.bookname = bookname;
    ?}
    ?
    ?public String getPrice(){
    ???? return this.price;?
    ?}
    ?
    ?public void setPrice(String price){
    ???? this.price=price;?
    ?}
    ?
    }
    四、分頁的jsp頁面pagetest.jsp,用了jstl中的c標記。
    <%@ page contentType="text/html; charset=gb2312" language="java"%>
    <%@ page import="java.util.*" %>
    <%@ page import="bean.*" %>
    <%@ taglib prefix="c" uri="
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>

    <logic:iterate id="book" name="list" type="bean.Book">?
    ??????????? <br><html:link??
    ??????????????????? paramId="id" paramName="book" paramProperty="id"?
    ??????????????????? page="/messagedetail.do">?
    ??????????????????? <bean:write name="book" property="bookname" />?
    ??????????????? </html:link>?
    </logic:iterate>?

    <form action="/TestPage/page.do">
    ?? <logic:present name="previous">?
    ??????????? <html:link??
    ??????????????????? paramId="start" paramName="previous"?
    ??????????????????? page="/page.do">?
    ??????????????????? 上一頁?
    ??????????????? </html:link>?
    ?? </logic:present>?

    ?? <logic:present name="next">?
    ????????????? <html:link??
    ??????????????????? paramId="start" paramName="next"?
    ??????????????????? page="/page.do">?
    ??????????????????? 下一頁?
    ??????????????? </html:link>?
    ?? </logic:present>?

    每頁<c:out value="${page}"/>條記錄,共<c:out value="${pages}"/>頁? 跳到<input type="text"? name="go" size="3" maxlength="30" >
    <input type="submit" value="go" >
    </form>
    ?????????

    ?

    OK!!!!
    五、測試,請下載本實例的目錄結構TestPage,放入tomcat的webapps下,在瀏覽器中輸入:
    ???
    http://127.0.0.1:8080/TestPage/page.do?
    來源: java學習室
    ?

    posted on 2006-05-03 20:04 feingto 閱讀(630) 評論(0)  編輯  收藏 所屬分類: Java Web

    主站蜘蛛池模板: 亚洲午夜久久久久久久久久| 免费一级特黄特色大片在线| 亚洲产国偷V产偷V自拍色戒 | 四虎国产精品免费视| 亚洲精品宾馆在线精品酒店| 成人毛片视频免费网站观看| 亚洲成a∧人片在线观看无码| 日本免费一区二区三区最新| 国产成人亚洲综合无| 亚洲精品动漫人成3d在线| a级毛片免费观看网站| 亚洲热妇无码AV在线播放| 免费无码又爽又刺激高潮软件| 久久精品亚洲中文字幕无码网站| 亚欧日韩毛片在线看免费网站| 亚洲影视一区二区| 国产美女精品视频免费观看| 午夜免费国产体验区免费的 | 亚洲第一视频网站| 麻花传媒剧在线mv免费观看| 亚洲中文字幕无码爆乳| 国产免费观看黄AV片| 中文字幕免费在线播放| 内射少妇36P亚洲区| 台湾一级毛片永久免费| 亚洲AV无码专区在线厂| 亚洲日韩欧洲乱码AV夜夜摸| 6080午夜一级毛片免费看| 亚洲欧洲日产国码久在线| 国产综合精品久久亚洲| 天天影院成人免费观看| 在线亚洲v日韩v| 亚洲国产老鸭窝一区二区三区| 国产精品免费观看久久| free哆拍拍免费永久视频| 亚洲成aⅴ人在线观看| 免费观看国产精品| 91在线老王精品免费播放| 羞羞视频在线免费观看| 久久91亚洲精品中文字幕| 国产精品冒白浆免费视频|