研究了大半天的收获,记录下来和大家分享。
在客户的项目中,有对记录手动排序并保存的需求。
我的大体实现方法为:
客户端JSP文件中自动根据记录数生成排序下拉列表项,用户可以指定某个记录的序号,并把需要保存的排序信息保存在一个隐藏字段中传递,代码如下:
这样,取会的记录排序信息格式就为
记录编号1:序号1,记录编号2:序号2,
在Servlet中的操作处理代码为
在客户的项目中,有对记录手动排序并保存的需求。
我的大体实现方法为:
客户端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: }