一个简单的分页(mysql) 简单实现

    技术2022-05-20  35

    mybook.jsp

     

    对于原始session.currentPage可以再jsp种实现 也可以在 事件消息 HttpSessionListener中实现

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="/WEB-INF/why.tld" prefix="myExample"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <mce:script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" mce_src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></mce:script> <mce:script type="text/javascript" src="http://localhost/show/js/you.js" mce_src="http://localhost/show/js/you.js"></mce:script> <link rel="stylesheet" href="http://localhost/show/css/you.css" mce_href="http://localhost/show/css/you.css" type="text/css"/> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <myExample:to here="do i "/> <div class="change"> <myExample:query table="book" page="${sessionScope.currentPage==null?1:sessionScope.currentPage}"/> </div> </body> </html> 

    you.js

     

    $(document).ready(function(){ $("span.click").click(function(){ var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { location.reload(); } }; xmlhttp.open("GET","./change?page="+$(this).html(),true); xmlhttp.send(); }); });  

     

    我使用自定义标签实现的,

    标签

    package my; import java.io.IOException; import java.sql.*; import javax.servlet.jsp.tagext.*; public class Query extends SimpleTagSupport { private Statement statement ; private String table=null; private int page,number=2; private ResultSet resultSet; private String follow=""; public void doTag(){ String querySql="SELECT name,price FROM "+table; try { statement =MySql.getStatement("why", "root", "root"); resultSet=statement.executeQuery(querySql); this.getJspContext().getOut().println("<br/>"+"<br/>"+getResult()); } catch (Exception e){ // TODO Auto-generated catch block e.printStackTrace(); } } private String getResult() throws Exception{ int totalRow,totalPage; String str = null; if(((page-1)==0||resultSet.absolute((page-1)*number))&&resultSet.last()){ totalRow=resultSet.getRow(); totalPage=totalRow/number+(totalRow%number==0?0:1); if(page-1>0) resultSet.absolute((page-1)*number); else resultSet.beforeFirst(); }else{ follow+="null"; return null; } for(int i=0;i<number&&resultSet.next();++i){ str+="<div class=/"red/">"+resultSet.getString("name")+"<br/>"+resultSet.getDouble("price")+"</div><br/>"; follow+=resultSet.getString("name")+resultSet.getDouble("price"); } for(int i=1;i<=totalPage;++i){ if(i==page){ str+="<span style="/" mce_style="/""color:red/">"+i+"</span>"; continue; } str+="<span class=/"click/">"+i+"</span>"; } return str; } public void setTable(String table){ this.table=table; } public void setPage(int page){ this.page=page; } public void setNumber(int number){ this.number=number; } } 

     

    why.tld

    <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <tlib-version>1.0</tlib-version> <short-name>why</short-name><!--my.Example 声明name example--> <tag> <name>to</name> <tag-class>my.Example</tag-class> <body-content>empty</body-content> <attribute> <name>here</name> </attribute> </tag> <tag> <name>query</name> <tag-class>my.Query</tag-class> <body-content>empty</body-content> <attribute> <name>table</name> <required>true</required> </attribute> <attribute> <name>page</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>number</name> </attribute> </tag> </taglib> 


    最新回复(0)