最近項目需要,因為時間問題我用最簡單的方法做了一個查詢分頁+CheckBox的全選提交,我覺得非常適合小項目和類似郵件列表的功能.下面貼出我的代碼,希望朋友們多給我提毛病.
主要代碼都寫在jsp里.下面是一個apply_note.jsp:
<%@page contentType="text/Html;charset=GBK" language="java"%>
<%@ page import="java.sql.*"%>
<%@ page import="com.deepdo.common.connect.ConSql"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<style type=text/CSS>
td,th,p,span,div,a,A {font-size:12px;text-decoration:none}
.blak a {color:#000; text-decoration:none}
.blak a:hover {color:#f00; text-decoration:underline}
</style>
<body>
<jsp:include page="/include/deepdo.jsp" flush="true"/>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0" height="450">
<tr>
<td valign="top" class="bg_td1" height="450" width="160">
<jsp:include page="/include/navigation.jsp" flush="true"/>
</td>
<td valign="top" class="bg_td1" height="450" width="540">
<table width="590" border="0" align="center" cellpadding="2" cellspacing="2" bgcolor="#FAF9F5">
<tr>
<td background="resume/images/color.jpg" class="font4"> <img src="http://www.QQread.com/java/resume/images/dot.gif">
工作申請記錄</td>
</tr>
</table>
<table width="590" border="0" align="center" cellpadding="4" cellspacing="2">
<%
//變量聲明
Connection sqlCon; //數據庫連接對象
Statement sqlStmt; //SQL語句對象
ResultSet sqlRst; //結果集對象
String strCon; //數據庫連接字符串
String strSQL; //SQL語句
int intPageSize; //一頁顯示的記錄數
int intRowCount; //記錄總數
int intPageCount; //總頁數
int intPage; //待顯示頁碼
String strPage;
int i;
//設置一頁顯示的記錄數
intPageSize = 10;
//取得待顯示頁碼
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中沒有page這一個參數,此時顯示第一頁數據
intPage = 1;
}
else{//將字符串轉換成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//獲取一個TOMCAT配置的連接池
sqlCon = ConSql.getCon();
//創建一個可以滾動的只讀的SQL語句對象
sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//預備SQL語句
strSQL = "select * from apply_note where userid="+request.getAttribute("userid");
//執行SQL語句并獲取結果集
sqlRst = sqlStmt.executeQuery(strSQL);
//獲取記錄總數
sqlRst.last();
intRowCount = sqlRst.getRow();
//記算總頁數
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//調整待顯示的頁碼
if(intPage>intPageCount) intPage = intPageCount;
%>
<tr>
<td align="center" bgcolor="#efefef" width="150" height="27">已經申請過的職位</td>
<td align="center" bgcolor="#efefef" width="140" height="27">公司名稱</td>
<td align="center" bgcolor="#efefef" width="75" height="27">申請時間</td>
<td align="center" bgcolor="#efefef" width="25" height="27"><input type=CheckBox name="selectAll" onClick="selectAll();"></td>
</tr>
<%
if(intPageCount>0){
//將記錄指針定位到待顯示頁的第一條記錄上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//顯示數據
i = 0;
while(i<intPageSize && !sqlRst.isAfterLast()){
%>
<form name ="noteForm" action="noteRemove.do" method="post">
<tr>
<td><a href=<%=sqlRst.getString("url")%> target="_blank"><%=sqlRst.getString("job")%></a></td>
<td><%=sqlRst.getString("unit")%></td>
<td><%=sqlRst.getString("date_time")%></td>
<td width="26" align="center"><input type=CheckBox name="id" value=<%=sqlRst.getString("id")%>></td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>
<tr>
<td>
<a href="note.do?page=1">首頁</a>
<%if(intPage>1){%><a href="note.do?page=<%=intPage-1%>">上一頁</a><%}
else {%><a href="#" title="已經是第一頁">上一頁</a><%}%>
<%if(intPage<intPageCount){%><a href="note.do?page=<%=intPage+1%>">下一頁</a><%}
else {%><a href="#" title="已經是最后一頁">下一頁</a><%}%>
<a href=note.do?page=<%=intPageCount%>>末頁</a>
</td>
<td>
共 <%=intPageCount%> 頁申請記錄
當前為第 <%=intPage%> 頁
</td>
<td> </td>
<td align="center"><input type="submit" value="刪除" onClick="manageSubmit();"></td>
<input type="hidden" name="checkvalue" value="">
</tr>
</form>
<%
//關閉結果集
sqlRst.close();
//關閉SQL語句對象
sqlStmt.close();
//關閉數據庫
sqlCon.close();
%>
</table>
</td>
</tr>
</table>
<jsp:include page="/include/tail.html" flush="true"/>
</body>
<script language="Javascript">
function manageSubmit(){
var ChkEls=document.getElementsByName("Id");
var checkedIds="";
for(var i=0;i<ChkEls.length;i++){
if(ChkEls.item(i).type != "checkbox")continue;
var oEl = ChkEls.item(i);
if(oEl.checked) {
checkedIds = checkedIds + (oEl.value + ",");
}
}
document.noteForm.checkvalue.value = checkedIds;
if ( checkedIds == "" ) return false;
return true;
}
新聞熱點
疑難解答