分享
 
 
 

STRUTS+HIBERNATE+ORACLE分页

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

主要由:

message.jsp

MessageForm

MessageAction

Player.hbm.xml

struts-config.xml

MeisaiBean.java

来实现:

先看数据库结构:

CREATE TABLE player

(

PLAYER_ID VARCHAR(32) PRIMARY KEY,

TEAM VARCHAR(3),

displayName VARCHAR(100),

LAST_NAME VARCHAR(100),

MIDDLE_NAME VARCHAR(100),

STATUS VARCHAR(32),

POS VARCHAR(1),

PPG INTEGER default 25

);

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2113999','DAL','Dirk',null,'',null,'F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30361','IND','Ron','Artest','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30273','ORL','Tracy','McGrady','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30190','LAL','Kobe','Bryant','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30328','SEA','Rashard','Lewis','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30197','NJN','Kerry','Kittles','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30341','HOU','Steve','Francis','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30146','MIN','Kevin','Garnett','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2113993','BOS','Paul','Pierce','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30050','NJN','Jason','Kidd','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30215','ATL','Shareef','Abdur-Rahim','','I','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('1861922','ORL','Mike','Miller','','I','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30144','ATL','Glenn','Robinson','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2019703','GSW','Gilbert','Arenas','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2028505','UTH','Andrei','Kirilenko','','I','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30382','PHO','Shawn','Marion','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('29941','SEA','Brent','Barry','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2114000','DAL','Michael','Finley','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30187','BOS','Antoine','Walker','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30234','SAC','Bobby','Jackson','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('29968','WAS','Jerry','Stackhouse','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('29944','SAC','Doug','Christie','','I','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30095','CHI','Donyell','Marshall','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2028865','ATL','Ira','Newble','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30029','SEA','Gary','Payton','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30141','TOR','Voshon','Lenard','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30020','MIL','Toni','Kukoc','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30154','NOR','P.J.','Brown','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30125','MIA','Eddie','Jones','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30359','ATL','Jason','Terry','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30291','UTH','Matt','Harpring','','A','F');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('30228','MIL','Ray','Allen','','A','G');

INSERT INTO player (PLAYER_ID,TEAM,displayName,LAST_NAME,MIDDLE_NAME,STATUS,POS) VALUES ('2028503','SEA','Vladimir','Radmanovic','','A','F');

对应的player.hbm.xml如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

<!-- test player-->

<class name="com.ecc.hibernate.hbm.Player" table="PLAYER">

<id name="PlayerId" column="player_id" type="string" length="32">

<generator class="uuid.string"/>

</id>

<property name="Team" column="team" type="string" length="3"/>

<property name="DisplayName" column="displayname" type="string" length="100"/>

<property name="LastName" column="last_name" type="string" length="100"/>

<property name="MiddleName" column="middle_name" type="string" length="100"/>

<property name="Status" column="status" type="string" length="32"/>

<property name="Pos" column="pos" type="string" length="1"/>

<property name="Ppg" column="ppg" type="long" length="22"/>

</class>

</hibernate-mapping>

现在看MeisaiBean.java

package com.ecc.util;

import java.io.Serializable;

public class MeisaiBean implements Serializable{

public MeisaiBean() {

}

public String label_1 = "";

public void setLabel_1(String str) {

this.label_1 = str;

}

public String getLabel_1() {

return this.label_1;

}

public String label_2 = "";

public void setLabel_2(String str) {

this.label_2 = str;

}

public String getLabel_2() {

return this.label_2;

}

public String label_3 = "";

public void setLabel_3(String str) {

this.label_3 = str;

}

public String getLabel_3() {

return this.label_3;

}

public String label_4 = "";

public void setLabel_4(String str) {

this.label_4 = str;

}

public String getLabel_4() {

return this.label_4;

}

public String label_5 = "";

public void setLabel_5(String str) {

this.label_5 = str;

}

public String getLabel_5() {

return this.label_5;

}

public String label_6 = "";

public void setLabel_6(String str) {

this.label_6 = str;

}

public String getLabel_6() {

return this.label_6;

}

public String label_7 = "";

public void setLabel_7(String str) {

this.label_7 = str;

}

public String getLabel_7() {

return this.label_7;

}

public String label_8 = "";

public void setLabel_8(String str) {

this.label_8 = str;

}

public String getLabel_8() {

return this.label_8;

}

public String label_9 = "";

public void setLabel_9(String str) {

this.label_9 = str;

}

public String getLabel_9() {

return this.label_9;

}

public String label_10 = "";

public void setLabel_10(String str) {

this.label_10 = str;

}

public String getLabel_10() {

return this.label_10;

}

public String label_11 = "";

public void setLabel_11(String str) {

this.label_11 = str;

}

public String getLabel_11() {

return this.label_11;

}

public String label_12 = "";

public void setLabel_12(String str) {

this.label_12 = str;

}

public String getLabel_12() {

return this.label_12;

}

public String label_13 = "";

public void setLabel_13(String str) {

this.label_13 = str;

}

public String getLabel_13() {

return this.label_13;

}

public String label_14 = "";

public void setLabel_14(String str) {

this.label_14 = str;

}

public String getLabel_14() {

return this.label_14;

}

public String label_15 = "";

public void setLabel_15(String str) {

this.label_15 = str;

}

public String getLabel_15() {

return this.label_15;

}

public String label_16 = "";

public void setLabel_16(String str) {

this.label_16 = str;

}

public String getLabel_16() {

return this.label_16;

}

public String label_17 = "";

public void setLabel_17(String str) {

this.label_17 = str;

}

public String getLabel_17() {

return this.label_17;

}

public String label_18 = "";

public void setLabel_18(String str) {

this.label_18 = str;

}

public String getLabel_18() {

return this.label_18;

}

public String label_19 = "";

public void setLabel_19(String str) {

this.label_19 = str;

}

public String getLabel_19() {

return this.label_19;

}

public String label_20 = "";

public void setLabel_20(String str) {

this.label_20 = str;

}

public String getLabel_20() {

return this.label_20;

}

public String label_21 = "";

public void setLabel_21(String str) {

this.label_21 = str;

}

public String getLabel_21() {

return this.label_21;

}

}

MessageForm.java:

//Created by MyEclipse Struts

// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.2/xslt/JavaClass.xsl

package com.ecc.struts.message.formbean;

import org.apache.struts.action.ActionForm;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;

import java.util.*;

/**

* MyEclipse Struts

* Creation date: 01-06-2005

*

* XDoclet definition:

* @struts:form name="testRegistForm"

*/

public class MessageForm extends ActionForm {

public MessageForm(){}

private String label1="";

/**

* @return

*/

public String getLabel1() {

return label1;

}

/**

* @param string

*/

public void setLabel1(String string) {

label1 = string;

}

private Vector meisai = new Vector();

public void setMeisai(Vector meisai) {this.meisai = meisai; }

public Vector getMeisai(){return meisai; }

private int currentPage=0;

/**

* @return

*/

public int getCurrentPage() {

return currentPage;

}

/**

* @param i

*/

public void setCurrentPage(int i) {

currentPage = i;

}

private int totalPage=0;

/**

* @return

*/

public int getTotalPage() {

return totalPage;

}

/**

* @param i

*/

public void setTotalPage(int i) {

totalPage = i;

}

}

MessageAction.java:

//Created by MyEclipse Struts

// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_3.8.2/xslt/JavaClass.xsl

package com.ecc.struts.message.action;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.SessionActionMapping;

import org.apache.struts.action.ActionError;

import org.apache.struts.action.ActionErrors;

import com.ecc.struts.message.formbean.*;

import com.ecc.util.*;

import java.security.*;

import com.ecc.util.security.password.*;

import com.ecc.exception.regist.*;

import com.ecc.hibernate.db.*;

import net.sf.hibernate.*;

import net.sf.hibernate.cfg.*;

import com.ecc.hibernate.*;

import com.ecc.hibernate.hbm.*;

import java.util.*;

public class MessageAction extends Action{

// --------------------------------------------------------- Instance Variables

// --------------------------------------------------------- Methods

/**

* Method execute

* @param mapping

* @param form

* @param request

* @param response

* @return ActionForward

*/

private void setPage(ActionForm form,int currentPage){

Transaction tx=null;

Session session=null;

int totalCount=0;

String playerid="";

String team="";

String displayname="";

int firstIndex=0;

int itemsInPerPage=10;

try{

MessageForm messageForm = (MessageForm) form;

session = HbUnit.getSession();

tx= session.beginTransaction();

currentPage=messageForm.getCurrentPage();

if (currentPage<=0){

messageForm.setCurrentPage(1);

firstIndex=0;

}else

{

firstIndex=currentPage*itemsInPerPage-itemsInPerPage;

}

String sql="select player from Player as player";

Query query = session.createQuery

(sql);

query.setFirstResult(firstIndex);

query.setMaxResults(itemsInPerPage);

Iterator it=query.iterate();

Vector meisaiList=new Vector();

while(it.hasNext()){

Player player=(Player)it.next();

playerid=StrHandle.replaNull(player.getPlayerId());

team=StrHandle.replaNull(player.getTeam());

displayname=StrHandle.replaNull(player.getDisplayName());

MeisaiBean meisai=new MeisaiBean();

meisai.setLabel_1(playerid);

meisai.setLabel_2(team);

meisai.setLabel_3(displayname);

meisaiList.add(meisai);

}

messageForm.setMeisai(meisaiList);

tx.commit();

}

catch(Exception ex){

try{

tx.rollback();

}catch(Exception eex){

}

System.out.println(ex);

ex.printStackTrace();

}finally{

try{

HbUnit.closeSession();

}catch(Exception ex){

}

}

}

private int getRecordSize(){

Transaction tx=null;

Session session=null;

int totalCount=0;

try{

session = HbUnit.getSession();

tx= session.beginTransaction();

totalCount=( (Integer) session.iterate("select count(*) from Player").next() ).intValue();

tx.commit();

return totalCount;

}

catch(Exception ex){

try{

tx.rollback();

}catch(Exception eex){

}

System.out.println(ex);

ex.printStackTrace();

return -1;

}finally{

try{

HbUnit.closeSession();

}catch(Exception ex){

}

}

}

public ActionForward execute(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response) {

MessageForm messageForm = (MessageForm) form;

String target="";

int size=0;

int perItemsPage=10;

int modItems=0;

int totalPages=0;

int currentPage=0;

try{

currentPage=messageForm.getCurrentPage();

size=getRecordSize();

if(size<=0){

target="noitemfound";

}

else

{

totalPages=size/perItemsPage;

modItems=size%perItemsPage;

if(modItems>0)totalPages+=1;

System.out.println("Record Size:"+size);

System.out.println("Total page:"+totalPages);

messageForm.setTotalPage(totalPages);

setPage(form,currentPage);

System.out.println("total page:"+totalPages);

target="success";

}

}catch(Exception ex){

System.out.println(ex);

ex.printStackTrace();

}

return (mapping.findForward(target));

}

}

Message.jsp如下:

<%@ page language="java"%>

<%@ page contentType="text/html; charset=GB2312" %>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html>

<head>

<title>JSP for testRegistForm form</title>

<STYLE type=text/css>

FONT-SIZE: 9pt{

}

A {

COLOR: #000000; TEXT-DECORATION: none

}

A:hover {

TEXT-DECORATION: underline

}

.bt {

BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 9pt; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 50px; CURSOR: hand; HEIGHT: 16px; BACKGROUND-COLOR: #808080; BORDER-RIGHT-WIDTH: 0px

}

.tx1 {

BORDER-RIGHT: black 1px ridge; BORDER-TOP: black 1px ridge; FONT-SIZE: 9pt; BORDER-LEFT: black 1px ridge; WIDTH: 60pt; COLOR: #000000; BORDER-BOTTOM: #000000 1px ridge; HEIGHT: 20px

}

</STYLE>

</head>

<Script Language="JavaScript">

function gotoNext(){

var currentPage=parseInt(MessageForm.currentPage.value);

var totalPage=parseInt(MessageForm.totalPage.value);

currentPage=currentPage+1;

if(currentPage>totalPage){

currentPage=totalPage;

}

var url="message.do?currentPage="+currentPage;

alert(url);

document.location=url;

}

function gotoPrev(){

var currentPage=parseInt(MessageForm.currentPage.value);

var totalPage=parseInt(MessageForm.totalPage.value);

if(currentPage<=0){

currentPage=0;

}else{

currentPage=currentPage-1;

}

var url="message.do?currentPage="+currentPage;

alert(url);

document.location=url;

}

function gotoTop(){

var url="message.do?currentPage=1";

alert(url);

document.location=url;

}

function gotoLast(){

var totalPage=parseInt(MessageForm.totalPage.value);

var url="message.do?currentPage="+totalPage;

alert(url);

document.location=url;

}

</Script>

<body>

<html:form name="MessageForm" action="/message.do" type="com.ecc.struts.message.formbean.MessageForm" scope="request">

<html:text property="currentPage"/></br>

<html:text property="totalPage"/></br>

</html:form>

<table>

<tr>

<td><input value="top" type="button" onclick="gotoTop();">

<td><input value="prev" type="button" onclick="gotoPrev();">

<td><input value="next" type="button" onclick="gotoNext();">

<td><input value="last" type="button" onclick="gotoLast();">

</tr>

</table>

<table border='1'>

<logic:present name="MessageForm" scope="request">

<logic:iterate id="meisaiList" name="MessageForm" property="meisai" scope="request">

<tr>

<td>

<bean:write name="meisaiList" property="label_1" />

</td>

<td>

<bean:write name="meisaiList" property="label_2" />

</td>

<td>

<bean:write name="meisaiList" property="label_3" />

</td>

</tr>

</logic:iterate>

</logic:present>

</table>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有