在一个action中具有三个方法:
- Java code
selectall(request,response,form,mapping)(转向的页面为a.jsp,分两部分:1.具有提交功能,可以设置表单。2.用来列出已经设好的信息。),delete(request,response,form,mapping)(在a.jsp页面的列表选项删除功能提交后进行删除操作);add(request,response,form,mapping)(添加功能)
用户登录后,先调用selectall方法进入a.jsp,我在selectall方法中设置了savetoken():
- Java code
try { allRecorders = crmDao.getCombototal(org); all = crmDao.getAllCombo(currentPage, lineSize, org); } catch (Exception e) { e.printStackTrace(); } saveToken(request);
在delete方法中加入:
- Java code
if(!isTokenValid(request)){ saveToken(request); request.setAttribute("errormessage", "套餐已经删除,不能重复删除!"); return mapping.findForward("taocanexit"); }else{ crmDao.deleteTaocan(tcid); resetToken(request); return selectall(mapping, form, request, response); }
可是这样后,当我一点击删除它就会提示:套餐已经删除,不能重复删除。是不是我设的token错误?我看别的例子都是先有一个prepareaction中设置savetoken,可是这样每个都加一个prepareaction的话,太浪费了。
------解决方案--------------------
------解决方案--------------------
- HTML code
function doDel(tcid){ if( confirm("确认删除吗?")){ document.forms[0].method.value = "delete"; document.forms[0].tcid.value = tcid; document.forms[0].action = "/comboinit.do"; document.forms[0].submit(); } }