自己向上——ページング
最近のすべてはすべて积み重ねていっしょにいて、事はとても多くて、本当に学ぶ时间はとても少なくて、毎日すべてあちこち奔走して、おや、これは私の想像する修仙の普通の大学の生活と异なって(1毛はすべて异なっています)、言わないで、私の自分のページの机能を実现しましょう
実現はJDBC、サーブレット、JSPによって実現されたもので、初心者は、そんなに高い方法を使うことはありません-->主にできない、読めない、読めないのは使えないに等しい.
まず基本的なファイルを構成します
もう1つのオブジェクトを作成した後、SQL文を使用する必要があります.SQL文にはlimitキーワードがあります.このキーワードの後ろには2つのパラメータがあり、1つのパラメータに対して開始位置を示し、1つのパラメータに対して後ろにいくつかのデータを読み取ることを示します.また、MySQLでは0から始まることを理解する必要があります.
この文は、最初から、後の5つのデータを読み出すことを示します.そこで,Nページ目のデータは,(N−1)x Qという宮殿のQから自分で設計され,いくつかのデータを下に読み,上のsql文の「5」とする式を得ることができる.この特性を知ってから、総ページの計算を始めましたが、データの総数を知っておく必要があります.後の除算演算を便利にしなければなりません.
これはSQL文で、このテーブルのデータの総量をクエリーする役割を果たし、JDBCでデータの合計数を取得することができます.
上記の方法でデータの総量を取得できます.ここでは、データが消去できない場合、ページ数+1が必要であることを知る必要があります.そうしないと、データが消去できない場合、データの表示はいつも少ないことに気づきます.
今私达は総ページ数、総データ量があって、それでは残りはJSPページで展示して、それではどのように展示して、私はここで一部のコードをJSPページに书くことを选んで、これは确かに私自身の间违いで、1人の合格したJavaプログラマーが自分のJSPページの上で1行のJavaコードが现れないため、私は反省して、私は検讨して、次回は本題に戻って、私はここで1つのsessionを運用して、このsessionの作用はあなたの望むページ数を伝えることで、彼の任務を完成した後についでに彼をクリアして、省の次回のページにアクセスする時sessionのと原因でアクセスするページは第1ページからではありません.
私たちのJSPページにはこのセッションを読み取り、セッションをクリアする文があります.線面のこの行のコードは実はこのページ数ボタンを印刷するためです.
この冒頭では、0から(あるいは最初のページから)始める必要があります.このとき、私たちはこのセッションを持っていません.つまり、このセッションはnullです.この特性に基づいて、私たちはこのように判断することができます.
ここでは、sql文に入力するだけで必要なページ番号を取得しました.
はいはいはいはい、これだけです.その中でどのように記入すればいいかは自分次第です.私のところは情報の展示です.情報を漏らすのは申し訳ありません.2333
実現はJDBC、サーブレット、JSPによって実現されたもので、初心者は、そんなに高い方法を使うことはありません-->主にできない、読めない、読めないのは使えないに等しい.
まず基本的なファイルを構成します
//
public class pageInformation {
//
private int page;
//
private int sumPage;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getSumPage() {
return sumPage;
}
public void setSumPage(int sumPage) {
this.sumPage = sumPage;
}
}
もう1つのオブジェクトを作成した後、SQL文を使用する必要があります.SQL文にはlimitキーワードがあります.このキーワードの後ろには2つのパラメータがあり、1つのパラメータに対して開始位置を示し、1つのパラメータに対して後ろにいくつかのデータを読み取ることを示します.また、MySQLでは0から始まることを理解する必要があります.
String sql="select * from user order by id limit 0,5";
この文は、最初から、後の5つのデータを読み出すことを示します.そこで,Nページ目のデータは,(N−1)x Qという宮殿のQから自分で設計され,いくつかのデータを下に読み,上のsql文の「5」とする式を得ることができる.この特性を知ってから、総ページの計算を始めましたが、データの総数を知っておく必要があります.後の除算演算を便利にしなければなりません.
select count(*) as count from user;
これはSQL文で、このテーブルのデータの総量をクエリーする役割を果たし、JDBCでデータの合計数を取得することができます.
// number
//ResultSet rs=null;
//PreparedStatement ps=null;
//int number =0;
String sql="select count(*) as count from data";
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
if (rs.next()) {
// , int
number=Integer.valueOf(rs.getString("count")) ;
}
上記の方法でデータの総量を取得できます.ここでは、データが消去できない場合、ページ数+1が必要であることを知る必要があります.そうしないと、データが消去できない場合、データの表示はいつも少ないことに気づきます.
// , 3 ,
// ,
if (number % 3 != 0) {
// 3 , , +1
sumUser=number/3+1;
}else{
sumUser=number/3;
}
今私达は総ページ数、総データ量があって、それでは残りはJSPページで展示して、それではどのように展示して、私はここで一部のコードをJSPページに书くことを选んで、これは确かに私自身の间违いで、1人の合格したJavaプログラマーが自分のJSPページの上で1行のJavaコードが现れないため、私は反省して、私は検讨して、次回は本題に戻って、私はここで1つのsessionを運用して、このsessionの作用はあなたの望むページ数を伝えることで、彼の任務を完成した後についでに彼をクリアして、省の次回のページにアクセスする時sessionのと原因でアクセスするページは第1ページからではありません.
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
// , XML
@WebServlet("/paging")
public class paging extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse
resp) throws ServletException, IOException {
//
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
pageInformation pageInformation=new pageInformation();
int page= Integer.parseInt(req.getParameter("page"));
sumPage sumPage=new sumPage();
//
pageInformation.setSumPage(sumPage.sumPage());
if (page>=pageInformation.getSumPage()){
page=pageInformation.getSumPage()-1;
}
if (page<0){
page=0;
}
//Session
HttpSession session=req.getSession(true);
session.setAttribute("page",page);
resp.sendRedirect(req.getContextPath()+"/Watch/show01.jsp");
}
}
私たちのJSPページにはこのセッションを読み取り、セッションをクリアする文があります.線面のこの行のコードは実はこのページ数ボタンを印刷するためです.
<form method="get" action="${pageContext.request.contextPath}/paging">
<table>
<tr>
<th>
<td>
<%-- 0 , 0--%>
<button name="page" value="0"> </button>
</td>
<td>
<button name="page" value=""> </button>
</td>
<%
pageInformation pageInformation=new pageInformation();
sumPage sumPage=new sumPage();
pageInformation.setSumPage(sumPage.sumPage());
<%-- for , --%>
for (int i = 0; i< pageInformation.getSumPage(); i++){
%>
<td>
<button name="page" value=""><%=i+1%></button>
</td>
<%
}
%>
<td>
<button name="page" value=""> </button>
</td>
<td>
<%-- , -1--%>
<button name="page" value=""> </button>
</td>
</th>
</tr>
</table>
</form>
この冒頭では、0から(あるいは最初のページから)始める必要があります.このとき、私たちはこのセッションを持っていません.つまり、このセッションはnullです.この特性に基づいて、私たちはこのように判断することができます.
// request
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
int num=0;
// session null; null; num
// , 、 、 !!!
if (session.getAttribute("page")!=null){
num= (int) session.getAttribute("page");
session.removeAttribute("page");
}
ここでは、sql文に入力するだけで必要なページ番号を取得しました.
String sql="select * from filepath order by id limit ?,3";
ps=conn.prepareStatement(sql);
ps.setInt(1,num*3);
ps.executeQuery();
rs=ps.executeQuery();
はいはいはいはい、これだけです.その中でどのように記入すればいいかは自分次第です.私のところは情報の展示です.情報を漏らすのは申し訳ありません.2333