在线等回答,感谢高手解答 我用jsp+servlet+javabean做了一个小项目,在组合查询(多条件查询)中,查询出来的结果在同一个页面的下面显示并把查询结果做了分页, 问题是:我翻到查询结果某一页,修改它其中的一列,跳到修改页面,修改成功后,点击提交,它调回到组合查询页面,而不能跳到组合查询页面查询出结果的某一页,分页中在第*页修改或删除后,页面会返回到列表第一页,而不是返回修改和删除的那一页。求高手解答,小弟感谢了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以在执行操作的时候同时将你的当前页值传到servlet,这样在你跳转页面时候,直接将值赋给currentPage,这样就可以实现你想要的效果。 问题是修改完后,点击提交,要到servlet处理修改,修改完成后,跳到了多条件查询页面,而不是有查询结果的页面,我传一个currentPage没有作用,或者你能说更详细点,我太笨了。 currentPage 确实可以 修改成功后 你跳转到 有查询结果的页面 并且把currentPage 带进去 就行了 String action=request.getParameter("action"); String pageId=request.getParameter("pageId");//第几页//这是我做的分页展示后台代码在servlet里 //展示项目支持 if(action.equals("show")) { ShowBackInfoMg sbinfo=new ShowBackInfoMg(); int pageID=Integer.parseInt(pageId); int end=(pageID-1)*pageSize; int begin=pageID*pageSize; String sqlCount="select count(*) from backInformation"; String sql="select t2.* from (select t1.*, rownum rn from (select b.*,i.itemName,p.productName,bu.backUserName,u.username " + "from backInformation b,item i,product p,backUser bu,userinfo u where b.itemId=i.itemId and b.productId=p.productId and b.backUserId =bu.backUserId and u.userid=b.userid order by backInformationId desc )t1 where rownum <="+begin+")t2 where rn >"+end+""; ArrayList backInfoList=sbinfo.getAllUserInfoBySQL(sql); int totalPage=sbinfo.getTotalPage(sqlCount, pageSize); request.setAttribute("action",action); request.setAttribute("totalPage", totalPage); request.setAttribute("backInfoList",backInfoList); request.setAttribute("pageId",pageId); RequestDispatcher rd=request.getRequestDispatcher("mgBackInfo.jsp"); rd.forward(request, response); }//这是我修改后提交后台代码:if(action.equals("update")){ String itemName=request.getParameter("itemName"); ItemManager itemMg=new ItemManager(); Item item=itemMg.getItemByName(itemName); int itemId=item.getItemId(); String backUserName=request.getParameter("backUserName"); BackUserManager bumg=new BackUserManager(); BackUser backUser =bumg.getBackUserByName(backUserName); int backUserId=backUser.getBackUserId(); String backType=request.getParameter("backType"); String backWay= request.getParameter("backWay"); String productName= request.getParameter("productName"); String backinfo=request.getParameter("des"); ProductMg pMg=new ProductMg(); Product product= pMg.getProductByName(productName); int productId=product.getProductId(); String subDate=request.getParameter("subDate"); String subUser=request.getParameter("subUser"); UserInfoManager umg=new UserInfoManager(); UserInfo uinf=umg.findUserInfo(subUser); int userid=uinf.getUserid(); String resolveStatus=request.getParameter("resolveStatus"); String resolvePlan=request.getParameter("resolvePlan"); String resolveDate=request.getParameter("resolveDate"); String backInfoId=request.getParameter("backInfoId"); int id=Integer.parseInt(backInfoId); BackInformation backInfo=new BackInformation(); backInfo.setItemId(itemId); backInfo.setBackUserId(backUserId); backInfo.setBackType(backType); backInfo.setBackWay(backWay); backInfo.setProductId(productId); backInfo.setBackInfo(backinfo); backInfo.setSubDate(subDate); backInfo.setUserid(userid); backInfo.setResolveStatus(resolveStatus); backInfo.setResolvePlan(resolvePlan); backInfo.setBackInformationId(id); if(resolveDate.equals("")||resolveDate==null){ flag=bimg.updateAllBackInfo(backInfo); if(flag==true) { out.println("<script>alert('项目支持记录信息修改成功!');location.href='adminBackInfo.jsp';</script>"); } else { out.println("<script>alert('项目支持记录信息修改失败!');location.href='updataBackInfor.jsp';</script>"); }}你看哈怎么改, String pageId=request.getParameter("pageId");//第几页 你在页面上写个request.setAttribute("pageIdBak",pageId);//pageId当前页String pageId=request.getParameter("pageIdBak"); String pageId=request.getAttribute("pageIdBak");写错了 String action=request.getParameter("action"); String pageId=request.getAttribute("pageIdBak"); //第几页 看看有没输出,参数传进去System,out.println("$$$$$$$$$$$$$$$$$$$$$$"+pageId);//你想怎么操作都行了//这是我做的分页展示后台代码在servlet里//展示项目支持if(action.equals("show")){ShowBackInfoMg sbinfo=new ShowBackInfoMg();int pageID=Integer.parseInt(pageId);int end=(pageID-1)*pageSize; 因为是写在servlet里,点击修改提交时我得到了pageId (第几页) ,怎么在去调用 if(action.equals("show")) { }让其显示查询结果页面,也就是说怎么在修改if(action.equals("update")){ }后,同一个servlet里在去调用 if(action.equals("show")) { }让它跳到查询结果页面哦; 那修改提交if(action.equals("update")){ },得到了pageId值;怎么在去调用 servlet 里的if(action.equals("show")) { } 啊;怎么在 if(action.equals("update")){ },里写调用if(action.equals("show")){}代码,让其跳到查询结果页面。谢谢各位高手, 不是有路径吗,现在你跳转的是XX。jsp是吧,到时候就直接跳转/myservlet/xx?method=aa&pageid=bb按你现在的需求只能这样写了。 也就是说: 把xx。jsp 换成直接跳转到同一个servlet里的if(action.equals("show")){}吗?那怎么写路径哦 解决了吧,直接跳转成你的这个servlet的路径后面跟上参数。也就是说你在这个servlet里面修改完了再跳回这个servlet再处理在跳出去 问题是解决了;但是;由于是多条件查询,是不是也要把获得的查询条件值,作为参数跟在servlet的路径后面哦?如果这样的话,那我的组合查询条件有十个,那不要传十个值和pageId值到servlet后面哦。 struts2 cos上传问题。在线等。 struts的i18n的意义有多大 存在对actionservlet、action、MVC的疑惑? tomcat上有两个应用都用到了同一个dll 问题,关于myeclipse自动删除struts.xml <html:select>标签的问题 jbuider奇怪的问题 求助:iText的模板问题 救救我啊。。我刚学2天J2EE。。咋个没法编译阿??那个J2EE的变量文件咋个写啊 请问怎样修改、删除、追加XML中子项的值? 请问java如何读取邮箱图片呢。 怎么让java程序在服务器上开机就运行
currentPage,这样就可以实现你想要的效果。
String pageId=request.getParameter("pageId");//第几页
//这是我做的分页展示后台代码在servlet里
//展示项目支持
if(action.equals("show"))
{
ShowBackInfoMg sbinfo=new ShowBackInfoMg();
int pageID=Integer.parseInt(pageId);
int end=(pageID-1)*pageSize;
int begin=pageID*pageSize;
String sqlCount="select count(*) from backInformation";
String sql="select t2.* from (select t1.*, rownum rn from (select b.*,i.itemName,p.productName,bu.backUserName,u.username " +
"from backInformation b,item i,product p,backUser bu,userinfo u where b.itemId=i.itemId and b.productId=p.productId and b.backUserId =bu.backUserId and u.userid=b.userid order by backInformationId desc )t1 where rownum <="+begin+")t2 where rn >"+end+"";
ArrayList backInfoList=sbinfo.getAllUserInfoBySQL(sql);
int totalPage=sbinfo.getTotalPage(sqlCount, pageSize);
request.setAttribute("action",action);
request.setAttribute("totalPage", totalPage);
request.setAttribute("backInfoList",backInfoList);
request.setAttribute("pageId",pageId);
RequestDispatcher rd=request.getRequestDispatcher("mgBackInfo.jsp");
rd.forward(request, response);
}
//这是我修改后提交后台代码:
if(action.equals("update")){
String itemName=request.getParameter("itemName");
ItemManager itemMg=new ItemManager();
Item item=itemMg.getItemByName(itemName);
int itemId=item.getItemId();
String backUserName=request.getParameter("backUserName");
BackUserManager bumg=new BackUserManager();
BackUser backUser =bumg.getBackUserByName(backUserName);
int backUserId=backUser.getBackUserId();
String backType=request.getParameter("backType");
String backWay= request.getParameter("backWay");
String productName= request.getParameter("productName");
String backinfo=request.getParameter("des");
ProductMg pMg=new ProductMg();
Product product= pMg.getProductByName(productName);
int productId=product.getProductId();
String subDate=request.getParameter("subDate");
String subUser=request.getParameter("subUser");
UserInfoManager umg=new UserInfoManager();
UserInfo uinf=umg.findUserInfo(subUser);
int userid=uinf.getUserid();
String resolveStatus=request.getParameter("resolveStatus");
String resolvePlan=request.getParameter("resolvePlan");
String resolveDate=request.getParameter("resolveDate");
String backInfoId=request.getParameter("backInfoId");
int id=Integer.parseInt(backInfoId);
BackInformation backInfo=new BackInformation();
backInfo.setItemId(itemId);
backInfo.setBackUserId(backUserId);
backInfo.setBackType(backType);
backInfo.setBackWay(backWay);
backInfo.setProductId(productId);
backInfo.setBackInfo(backinfo);
backInfo.setSubDate(subDate);
backInfo.setUserid(userid);
backInfo.setResolveStatus(resolveStatus);
backInfo.setResolvePlan(resolvePlan);
backInfo.setBackInformationId(id);
if(resolveDate.equals("")||resolveDate==null){
flag=bimg.updateAllBackInfo(backInfo);
if(flag==true)
{
out.println("<script>alert('项目支持记录信息修改成功!');location.href='adminBackInfo.jsp';</script>");
}
else
{
out.println("<script>alert('项目支持记录信息修改失败!');location.href='updataBackInfor.jsp';</script>");
}
}
你看哈怎么改,
你在页面上写个request.setAttribute("pageIdBak",pageId);//pageId当前页
String pageId=request.getParameter("pageIdBak");
String pageId=request.getAttribute("pageIdBak"); //第几页 看看有没输出,参数传进去
System,out.println("$$$$$$$$$$$$$$$$$$$$$$"+pageId);//你想怎么操作都行了
//这是我做的分页展示后台代码在servlet里
//展示项目支持
if(action.equals("show"))
{
ShowBackInfoMg sbinfo=new ShowBackInfoMg();
int pageID=Integer.parseInt(pageId);
int end=(pageID-1)*pageSize;
if(action.equals("show"))
{ }
让其显示查询结果页面,也就是说怎么在修改if(action.equals("update")){ }后,同一个servlet里在去调用
if(action.equals("show"))
{ }让它跳到查询结果页面哦;
{ } 啊;怎么在 if(action.equals("update")){ },
里写调用if(action.equals("show")){}代码,让其跳到查询结果页面。谢谢各位高手,
按你现在的需求只能这样写了。