首页 新闻 搜索 专区 学院

SSH跳转问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2014-09-03 15:54

我查询出来一组数据,可以在页面对数据修改和删除。点击修改按钮跳转到修改页面,但是修改保存后(入库)在按返回键返回到那组数据时,点击删除却跳转到刚才的修改页面。。直接删除好使。

就是修改后删除有问题。。在action中有修改,删除方法。。

问题补充:

 

然后返回键点击删除直接跳到修改页面,不论点击哪条数据都一样。

直接查出来数据点击删除好使。。。

这是修改表单提交到的action,修改完返回原页面。。

public String update() {
        this.clearFieldErrors();
        boolean flag = judgePermission();
        if (flag) {
            int roomid = Integer.parseInt(dormId);
            int paymoney = Integer.parseInt(money);
            int result;
            result = payService.update(payid, roomid, uid, paymoney, payTime);
            if (result == 0) {
                for (int i = 0; i < list.size(); i++) {
                    if (list.get(i).getPayid() == payid) {
                        list.get(i).getStaff().setName(uid);
                        list.get(i).getRoom().setRoomid(roomid);
                        list.get(i).setMoney(paymoney);
                    }
                }    
            this.addFieldError("updatetip", "修改成功");
            } else if (result == -1) {
                this.addFieldError("updatetip", "该用户不在缴费名单内");
            } else if (result == -5) {
                this.addFieldError("updatetip", "用户名与宿舍不匹配");
            } else if (result == -6) {
                this.addFieldError("updatetip", "该用户暂无宿舍");
            }
           }else if(!flag){
            setErrorPath("jsp/paymentManage/error.jsp");
            this.addFieldError("errorTip", "该用户暂无权限");
            return "error";
        }
        System.out.println(state);
        setSuccessPath("jsp/paymentManage/updatepayment.jsp");
        return SUCCESS;
    }

 

 delete的方法:

public String delete() {

        boolean flag = judgePermission();
        if (flag) {
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i).getPayid() == payid) {
                    list.remove(i);
                }
            }
            payService.delete(payid);
            if(state==1)
            {
                queryByDormId();
                setSuccessPath("jsp/paymentManage/paymentSearch_by_num.jsp");
            }
            else if(state==2)
            {
                queryByMonth();
                setSuccessPath("jsp/paymentManage/paymentSearch_by_month.jsp");
                
            }
            return SUCCESS;
            }
            else {
            setErrorPath("jsp/paymentManage/error.jsp");
            this.addFieldError("errorTip", "该用户暂无权限");
            return "error";
        }
    }

 

 

不屈的心的主页 不屈的心 | 初学一级 | 园豆:147
提问于:2014-09-03 14:31
< >
分享
所有回答(2)
0

贴代码吧  要不然不是很清楚你是怎么写的,没法回答啊。

GisClub | 园豆:330 (菜鸟二级) | 2014-09-03 14:48

贴了

支持(0) 反对(0) 不屈的心 | 园豆:147 (初学一级) | 2014-09-03 14:50

@不屈的心: 说明删除按钮的事件被覆盖了呗,最好把整个页面代码贴出来吧 就这一个方法是看不出什么的。

支持(0) 反对(0) GisClub | 园豆:330 (菜鸟二级) | 2014-09-03 14:57
0

虽然没有用过 setSuccessPath,但是我觉得应该是delete后return success,但是successpath的值还是update后set的值。猜想这2个方法在一个action里面,然后这个action类没有这个注解  @Scope("prototype")。菜鸟路过……

kutala | 园豆:204 (菜鸟二级) | 2014-09-03 14:57

这两个方法都有return success。这个不需要注解吧。我查出来可以直接删除,只是修改以后就出错了。应该是update这个方法写的有问题。

支持(0) 反对(0) 不屈的心 | 园豆:147 (初学一级) | 2014-09-03 15:01

@不屈的心:  if(state==1)
            {
                queryByDormId();
                setSuccessPath("jsp/paymentManage/paymentSearch_by_num.jsp");
            }
            else if(state==2)
            {
                queryByMonth();
                setSuccessPath("jsp/paymentManage/paymentSearch_by_month.jsp");
                
            }我觉得这2个if都没有进去,你用断点试试

支持(0) 反对(0) kutala | 园豆:204 (菜鸟二级) | 2014-09-03 15:03

@不屈的心: 这么跟你说吧,删除完之后是需要重定向的,但现在一般的做法是走ajax,就不需要

支持(0) 反对(0) GisClub | 园豆:330 (菜鸟二级) | 2014-09-03 15:03

@GisClub: 

而且也进入了方法。。但是点击修改后进入修改页面点击保存,按返回键到查询再次按删除则出问题了,直接跳转到修改页面。

支持(0) 反对(0) 不屈的心 | 园豆:147 (初学一级) | 2014-09-03 15:17

@不屈的心: 这也不算一个bug吧,应为按Backspace键返回时他前一个页面还是返回前的页面。。。不过这样不好,怎样避免呢

支持(0) 反对(0) 不屈的心 | 园豆:147 (初学一级) | 2014-09-03 15:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册