手動排序的數據庫保存

研究了大半天的收穫,記錄下來和大家分享。
在客戶的項目中,有對記錄手動排序並保存的需求。
我的大體實現方法爲:
客戶端JSP文件中自動根據記錄數生成排序下拉列表項,用戶可以指定某個記錄的序號,並把需要保存的排序信息保存在一個隱藏字段中傳遞,代碼如下:
 1: <INPUT TYPE='hidden' name='seqNoList' value=''>
 2: <
SELECT NAME='sortList'  onchange='seqNoList.value+='<bean:write name='infoRecorder' property='recorderId' />:'+this.options[this.selectedIndex].value+',';'>
 3: <
SCRIPT LANGUAGE='JavaScript'>
 4: <!--
 5: for (var
i=1;i<=<bean:write name='recorderList' />;i++){
 6: if (
i == <bean:write name='infoRecorder' property='seqNo' /> ){
 7:
document.write('<option selected value=''+i+''>'+i+'</option>');
 8: }else {
 9:
document.write('<option value=''+i+''>'+i+'</option>');
10: }
11: }
12:
//-->
13:
</SCRIPT>
14:
</SELECT>


這樣,取會的記錄排序信息格式就爲
記錄編號1:序號1,記錄編號2:序號2,
在Servlet中的操作處理代碼爲
 1: //更新排序信息
 2:
String seqNoList= request.getParameter('seqNoList');
 3: if (
null != seqNoList && !seqNoList.equals(''))
 4: {
 5:
String[] col= seqNoList.split(',');
 6:
//循環設置序號
 7:
for (int i= 0; i < col.length; i++)
 8: {
 9:
//取得編號和指定的序號
10:
String[] row = col[i].split(':');
11:
int recorderId= Integer.parseInt(row[0]);
12:
int seqNo  = Integer.parseInt(row[1]);
13:
//下面進行相關的數據庫保存操作
14:
……
15:
}
16: }
發佈了80 篇原創文章 · 獲贊 0 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章