自己整理的关于java 实现菜单或内容的上移下移的思路, 希望能帮助到一些新手,老手就别介意啊

数据库表对应的字段status,当上移时当前记录status-1,status-1条记录+1,值互换,status为12345的记录,假如status为23的记录被删除;... 数据库 表对应的字段 status,当上移时 当前记录status-1,status-1条记录+1,值互换,
status 为 1 2 3 4 5 的记录,假如 status为2 3的记录被删除;现在上移status为4的记录
<input type="button" value=“1” id=“upORdown” >上移</a>
<input type="button" value=“2” id=“upORdown”>下移</a>
action=“/my/upORdown!upORdown.action?ids=${status}&oneId=“upORdown”;//此处的upORdown不能这样赋值给oneId (说明:使用js赋值)
当前的status值 由页面action带到后台 假设带的参数命名为ids,

public void upORdown(){
Integer ids=0;
Integer oneId=0;//用于判断执行上移还是下移
//get和set方法省略

if(this.getOneId==1){
///上移:
for(i=this.getIds();i=<this.maxstatus;i - -)//用于循环,过滤 status值为2 3的记录,此记录已删除;maxstatus 为数据库中最大的status值,
//需要先查询在使用
{
aOBJ=this.service.selectBystatus(this.getIds());//查询由action带到后台值为status的记录
bOBJ=this.service.selectBystaus(i- -);//查询status为i- -对象是否存在;
if( bOBJ!=null&& Integer a= bOBJ.getStatus()){

this.getIds()=a;//将status值为i- -赋给当前的status; 将上一条和下一条的status值互换

this.service.aOBJupdateById( Integer.parse(aOBJ.getId()) , a );//根据aId更新aOBJ对象的status

Integer b=this.getIds();//将aOBJ对象的status值赋给bOBJ对象的status,将上一条和下一条的status值互换

this.service.update(bOBJ.getId(),b)//更新bOBJ对象的status

list=this.service.selectAllBystatus();//重新查一遍数据,根据status升序查找
}
}else if(this.getOneId==2){
//下移 status 为 1 2 3 4 5 的记录,假如 status为2 3的记录被删除;现在下移status为1的记录

for(i=this.getIds();i=<this.maxstatus;i++){

aOBJ=this.service.selectBystatus(this.getIds());//查询由action带到后台值为status的记录
bOBJ=this.service.selectBystaus(i++);//查询status为i++对象是否存在;
if( bOBJ!=null&&Integer a=bOBJ.getStatus()){

this.status=a;// 将bOBJ对象status值赋给aOBJ对象的status; 将上一条和下一条的status值互换

this.service.aOBJupdateById( Integer.parse(aOBJ.getId()) , a);//根据aOBJ的id更新自己的status

Integer b=aOBJ.getStatus();//将aOBJ对象的status值赋给bOBJ对象的status,将上一条和下一条的status值互换

this.service.bOBJupdateById(bOBJ.getId(),b)//更新bOBJ对象的status

list=this.service.selectAllBystatus();//重新查一遍数据,根据status升序查找
}

}
展开
 我来答
小寒爱旅游
2011-10-26 · TA获得超过1054个赞
知道小有建树答主
回答量:327
采纳率:100%
帮助的人:159万
展开全部
顶,谢谢分享,不过貌似地方搞错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式