主要由:
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 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>
- 最新评论 查看所有评论
-
- 发表评论 查看所有评论
-
- 推荐内容
-
- 奇虎360又来搅局正式推出永久免费360杀毒软件
奇虎360公司推出永久免费的360杀毒1.0正式版,该软件采用BitDefender引擎与全球领先的...
- 波特特务连接远程 IRC 接管你的电脑
“波特特务”变种D(Win32.Hack.IRCBot.d)是一个会释放另一个恶意后门黑客程序的木马病...
- 微软最新安全漏洞均属“紧急”风险级别
微软刚刚发布了7个最新的安全公告:MS07-023到MS07-029,这些安全公告分别描述了18个...
- 播种者播种恶意后门黑客程序危害电脑
“播种者”变种HS(Win32.Troj.Dropper.hs)是一个会释放另一个恶意后门黑客程序的木马...
- Exchange漏洞被列为五月份的严重漏洞
微软今日公布五月份信息安全更新,公布了7项新的重要安全性公告。以下摘要为赛门铁克...
- ARP骗子发送欺骗数据包下载并运行病毒
“ARP骗子”变种H(Win32.Hack.ArpSpoon.h)是一个利用伪造ARP数据包进行恶意攻击的黑客...
- 奇虎360又来搅局正式推出永久免费360杀毒软件