我本来是打算实现翻页处理的,现在就差一个传值问题带解决,始终不行啊
首先:
servlet控制器中:
int pageNow=1;
System.out.println("pageNow1:"+pageNow);
System.out.println("Now:"+request.getSession(true).getAttribute("Now"));
System.out.println("key:"+request.getSession(true).getAttribute("key"));
String key=(String)request.getSession(true).getAttribute("key");
if(key!=null){
pageNow=(Integer)request.getSession(true).getAttribute("Now");
}
System.out.println("pageNow2:"+pageNow);
//总是null;
//还有有时有值,有时没有
int rowCount=costlogservice.countCostlog();//从数据库拿到rowCount,测试没问题
request.getRequestDispatcher("manger_costlog.jsp?rowCount="+rowCount+"").forward(request, response);//传递给manger_costlog.jsp显示
在manger_costlog.jsp中
<%
 int pageNow=1;//默认当前第一页
 int pageSize=9;//设置每页显示9条记录
 int rowCount=Integer.parseInt(request.getParameter("rowCount"));//设置当前为0条记录
 int pageCount=0;//总共有多少页
 
 String sPagenow=(String)request.getParameter("sPagenow");
 //说明用户已经点击了
 if(sPagenow!=null){
 pageNow=Integer.parseInt(request.getParameter("sPagenow"));
 session.setMaxInactiveInterval(-1);
 session.setAttribute("Now", pageNow); 
 session.setAttribute("key", "page");
 }
 
 //计算出总共多少页
 if(rowCount%pageSize==0){
 pageCount=rowCount/pageSize;
 }else{
 pageCount=rowCount/pageSize+1;
 }%>
 
  <tr align="center">
  <%if(pageNow!=1){ %>
  <!--当我是第一页的时候就不显示上一页-->
   <td colspan="2">
   <a href="managerCostlog?sPagenow="+pageNow-1+"">上一页</a>
   </td>
  
  <%} for(int i=pageNow;i<=pageNow+2;i++){%>
  <td colspan="2">
  <a href="managerCostlog?sPagenow="+i+""> <%=i %> </a>
  </td>
  <%}  if(pageNow!=pageCount){%><!--当到到最后一页的时候就不显示下一页 -->
  <td colspan="3">
  <a href="managerCostlog?sPagenow="+pageNow+1+"">下一页</a>
  </td>
  <%} %>
  </tr>sessionServlet

解决方案 »

  1.   

    还有我打算在jsp中传值换成
    int pageNow=1;//这个是个变量,在jsp页面中随着点击传值改变pageNow的值
    request.setAttribute("key","page" );
    request.setAttribute("Now", pageNow);
    request.getRequestDispatcher("CostLogMgrServlet").forward(request, response);
    然后打算在servlet中接受
    request.getAttribute("Now");
    request.getAttribute("key");结果控制台一直报错,而且是那种死循环的错误,一直在跑动
      

  2.   

    那页面到底有没有 pageNow呢?
      

  3.   

    pageNow=Integer.parseInt(request.getParameter("sPagenow"));
    目测没看到sPagenow  
    是不是还有代码没贴出来
      

  4.   

    有啊,在下面啊,通过点击超链接时向本页面传递的
     <tr align="center">
      <%if(pageNow!=1){ %>
      <!--当我是第一页的时候就不显示上一页-->
       <td colspan="2">
       <a href="managerCostlog?sPagenow="+pageNow-1+"">上一页</a>
       </td>
      
      <%} for(int i=pageNow;i<=pageNow+2;i++){%>
      <td colspan="2">
      <a href="managerCostlog?sPagenow="+i+""> <%=i %> </a>
      </td>
      <%}  if(pageNow!=pageCount){%><!--当到到最后一页的时候就不显示下一页 -->
      <td colspan="3">
      <a href="managerCostlog?sPagenow="+pageNow+1+"">下一页</a>
      </td>
      <%} %>
      </tr>
      

  5.   

    有啊,在下面啊,通过点击超链接时向本页面传递的
     <tr align="center">
      <%if(pageNow!=1){ %>
      <!--当我是第一页的时候就不显示上一页-->
       <td colspan="2">
       <a href="managerCostlog?sPagenow="+pageNow-1+"">上一页</a>
       </td>
      
      <%} for(int i=pageNow;i<=pageNow+2;i++){%>
      <td colspan="2">
      <a href="managerCostlog?sPagenow="+i+""> <%=i %> </a>
      </td>
      <%}  if(pageNow!=pageCount){%><!--当到到最后一页的时候就不显示下一页 -->
      <td colspan="3">
      <a href="managerCostlog?sPagenow="+pageNow+1+"">下一页</a>
      </td>
      <%} %>
      </tr>页面有没有显示 上一页  的具体值?
      

  6.   

    有有显示,我在servlet里面做了个输出语句,就是点击上一页的时候就报错,在servlet那边拿到的
    System.out.println("Now:"+request.getSession(true).getAttribute("Now"));
    System.out.println("key:"+request.getSession(true).getAttribute("key"));输出的总是null