本文目錄一覽:
上一頁12345下一頁這樣的JSP代碼怎麼實現
;%@ page language=”java” import=”java.util.*,java.sql.*” pageEncoding=”gb2312″%
%
String path = request.getContextPath();
String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;
%
!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
html
head
base href=”%=basePath%”
titlepagescount/title
meta http-equiv=”pragma” content=”no-cache”
meta http-equiv=”cache-control” content=”no-cache”
meta http-equiv=”expires” content=”0″
meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″
meta http-equiv=”description” content=”This is my page”
!–
link rel=”stylesheet” type=”text/css” href=”styles.css”
—
/head
body
%!
//設置每張網頁顯示三筆記錄(每頁顯示的記錄數)
int PageSize=3;
//設置欲顯示的頁數(初始頁)
int ShowPage=1;
//ResultSet的記錄筆數(總記錄數)
int RowCount=0;
//ResultSet分頁後的總數(總頁數)
int PageCount=0;
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
%
%!
//連接數據庫並初始數據
public void jspInit()
{
try{
String Driver = “com.microsoft.jdbc.sqlserver.SQLServerDriver”;
String DBurl = “jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs”;
String user = “sa”;
String password = “sa”;
Class.forName(Driver);
conn=DriverManager.getConnection(DBurl,user,password);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(“select * from titles”);
//將指標移至最後一條記錄
rs.last();
//獲取記錄總數
RowCount=rs.getRow();
//計算顯示的頁數(關鍵)
PageCount=((RowCount%PageSize)==0?(RowCount/PageSize):(RowCount/PageSize)+1);
}catch(Exception e){
System.out.println(e.getMessage());
}
}
//執行關閉各個對象的操作
public void jspDestory()
{
try{
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
System.out.println(e.getMessage());
}
}
%
/body
/html
第二個文件
pages.jsp
%@ page language=”java” import=”java.util.*,java.sql.*” pageEncoding=”gb2312″%
%@include file=”pagescount.jsp” %
!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
html
head
base href=”%=basePath%”
title分頁顯示/title
meta http-equiv=”pragma” content=”no-cache”
meta http-equiv=”cache-control” content=”no-cache”
meta http-equiv=”expires” content=”0″
meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″
meta http-equiv=”description” content=”This is my page”
meta http-equiv=”author” content=”sunxch”
!–
link rel=”stylesheet” type=”text/css” href=”styles.css”
—
/head
body bgcolor=”cce8cf”
center
%
String ToPage=request.getParameter(“ToPage”);
//判斷是否取得ToPage參數
if(ToPage!=null)
{
//取得指定顯示的分頁頁數
ShowPage=Integer.parseInt(ToPage);
//下面的語句判斷用戶輸入的頁數是否正確
if(ShowPage=PageCount)
{
ShowPage=PageCount;
}
else if(ShowPage=0)
{
ShowPage=1;
}
}
//計算欲顯示頁的第一筆記錄位置
rs.absolute((ShowPage-1)*PageSize+1);
%
h3當前在第
font size=”4″ color=”red”%=ShowPage %/font頁,共%=PageCount %頁/h3
p
%
//利用for循環配合PageSize屬性取出一頁中的數據
for(int i=1;i=PageSize;i++)
{
%
table border=”1″ width=”90%”
tr
td書名ID/td
td%=rs.getString(“pub_id”) %/td
td書名/td
td%=rs.getString(“title”) %/td
td類型/td
td%=rs.getString(“type”) %/td
td價格/td
td%=rs.getFloat(“price”) %/td
/tr
tr
td備註/td
td colspan=”7″%=rs.getString(“notes”) %/td
/tr
/table
p
%
//下面的語句用於輸出最後一條記錄時,將指針移到最後一筆記錄之後
if(!rs.next())
{
//跳出for循環
break;
}
}
%
table
tr
%
//判斷當前是否在第一頁,不是第一頁,則顯示到第一頁與下一頁的連接
if(ShowPage!=1)
{
%
td width=150
a href=”pages.jsp?ToPage=%=1 %”第一頁/a
/td
td width=150
a href=”pages.jsp?ToPage=%=ShowPage-1 %”上一頁/a
/td
%
}
//判斷是否在最後一頁,是,則顯示到最後一頁和下一頁
if(ShowPage!=PageCount)
{
%
td width=150
a href=”pages.jsp?ToPage=%=ShowPage+1 %”下一頁/a
/td
td width=150
a href=”pages.jsp?ToPage=%=PageCount %”最後一頁/a
/td
%
}
%
/tr
tr
td colspan=”4″ align=”center”
form action=”pages.jsp” method=”post” name=”form1″
input type=”text” name=”ToPage” value=”%=ShowPage %” style=”height:25px;width:40px”頁
a href=”javascript:window.document.form1.submit();”GO/a
/form
/td
/tr
/table
/center
script language=”javascript”
function go()
{
window.document.form1.submit();
}
/script
/body
/html
有關向數據庫中添加一條記錄的問題,JSP代碼
如果添加數據庫中已有的設備時,會提示此設備已添加,可是正確輸入一條數據庫中沒有的信息時,總是顯示“添加設備操作失敗”提示,不知道哪出錯了,用的是oracle9i數據庫,請高手指點,謝謝。
代碼如下:
equi_add.jsp
%@ page contentType=”text/html; charset=gb2312″ language=”java” import=”java.sql.*” %
html
head
title添加設備/title
meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″
style type=”text/css”
!–
.STYLE1 {font-family: “宋體”}
—
/style
/head
script language=”javascript”
function mycheck(){
if (form1.EquiNo.value==””){
alert(“請輸入主設備號!”);form1.EquiNo.focus();return;
}
if (form1.LabId.value==””){
alert(“請輸入實驗台編號!”);form1.LabId.focus();return;
}
if (form1.RoomId.value==””){
alert(“請輸入所屬實驗室!”);form1.RoomId.focus();return;
}
if (form1.Charger.value==””){
alert(“請輸入設備負責人!”);form1.Charger.focus();return;
}
if (form1.MacAddr.value==””){
alert(“請輸入MAC地址!”);form1.MacAddr.focus();return;
}
if (form1.PowerAddr.value==””){
alert(“請輸入電源控制地址!”);form1.PowerAddr.focus();return;
}
form1.submit();
}
/script
body
table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″
tr
td
table width=”777″ height=”609″ border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″ bgcolor=”#FFFFFF”
tr
td valign=”top”table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”0″ class=”tableBorder_LTR”
tr
td height=”30″ align=”center” bgcolor=”#eeeeee”≡≡≡添加設備≡≡≡/td
/tr
/table
table width=”100%” height=”396″ border=”0″ cellpadding=”0″ cellspacing=”0″ class=”tableBorder_LBR”
tr
td width=”10″ height=”395″ valign=”top” /td
td width=”767″ valign=”top”table width=”100%” height=”56″ border=”0″ cellpadding=”0″ cellspacing=”0″
tr
td align=”center” /td
/tr
tr
td align=”center”
form action=”equi_add_deal.jsp” method=”post” name=”form1″
table width=”100%” height=”275″ border=”1″ align=”center” cellpadding=”-2″ cellspacing=”-2″ bordercolor=”#66FFFF” bordercolordark=”#FFFFFF”
tr
td width=”19%” height=”27″ 主設備編號:/td
問題補充:由於字數限制,不能貼太多的代碼,下面是我認為有可能出錯的一段代碼:
}else{
String sql=”insert into lab_equi_table
(EquiNo,LabId,RoomId,Charger,MacAddr,PowerAddr,StatusFlag,AddFlag,Remark) values
(‘”+EquiNo+”‘,'”+LabId+”‘,'”+RoomId+”‘,'”+Charger+”‘,'”+MacAddr+”‘,'”+PowerAddr+”‘,”+StatusF
lag+”,”+AddFlag+”,”+Remark+”)”;
int ret=0;
ret=Conndb.executeUpdate(sql);
if (ret!=0){
out.println(“script language=’javascript’alert(‘設備信息添加成
功!’);window.location.href=’index1.jsp’;/script”);
}else{
out.println(“script language=’javascript’alert(‘設備信息添加失
敗!’);window.location.href=’equi_add.jsp’;/script”);
}
}
}else{
out.println(“script language=’javascript’alert(‘您的操作有
誤!’);window.location.href=’index.jsp’;/script”);
}
就好了。
請問:關於jsp中的一小段代碼
是結果集中當前的一條,你的count函數只能返回一條記錄,就是按你這條件搜索的總數,getInt(1)取得的就是這個數字。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/220091.html