问题如下:  
     第一次进入页面a.jsp获得很多参数,然后把这些参数组装成一个字符串strParas,通过这个字符串取得很多数据,然后分页显示,在点击页码的时候需要把这个字符串传出去,不能在url的参数里传,我想通过requset.setAttribute("strParas",strParas);这样下次通过点击页码进入本页时就通过request.getAttribut("strParas')得到。但是请问怎么才能使页面转发给自己啊?  
 
一句话:怎么实现第一次进入页面a.jsp的时候requset.setAttribute("strParas",strParas);然后在进入a.jsp的时候便通过request.getAttribut("strParas');得到我第一次存的字符串????

解决方案 »

  1.   

    简单的说,要想使用request对象就必须要进行刷新用以产生一个服务器往返.
    如果你要在打开的时候进行request.setAttribute不是很好用,除非你用一个HidenFrame来进行服务器往返才能达到要求.
    而request.getAttribute就要好用得多,它是在页面提交后把数据通过request对象发送到服务器,其用法与session这样的对象就是类似的.对于前一个问题,你的那个字符串是如何得到的?
    在新开一个a.jsp页面的时候有那个字符串吗?
      

  2.   

    这里假设a.jsp和a'.jsp分别是 设置各种参数的页面 和 根据参数进行分页显示的页面.
    你是不是在a.jsp设置了很多参数然后提交,提交后显示同一个页面,我在这里用a'.jsp表示,这个页面通过在a.jsp设置的参数进行分页显示.如果是这样的话,你就要在a.jsp设置好参数提交的同时进行request.setAttribute,然后在a'.jsp进行request.getAttribute...
      

  3.   

    在a.jsp的参数是通过request.getParameter方法取得的,
      

  4.   

    String s ;
    if(request.getAttribute("strParas") == null) //表明第一次进入该页面,还没有设值
    {
    s = request.getParameter("strParas") ; //从parameter中取
    }
    else
    {
    s = (String) request.getAttribute("strParas") ;
    }do  something....
    ///////////////另外,你这样做需要每次先往request中setAttribute才行,比较麻烦,还是通过getParameter方式得到参数比较好
      

  5.   

    就像我上面说的,如果你想要在同一个页面进行request的set和get的话,就必须要借助于页面的刷新...
      

  6.   

    to kevinliuu(@。@) :
    你的代码只解决了一半的功能,楼主是想在同一个页面又用request.setAttribute又用request.getAttribute...楼主既然要从其它页面传参数到a.jsp页面来又把它存到request中去,那你为何不直接在前一个页面就把需要的数据存到request中呢?
    previous.jsp
    request.setAttribute("s",paraString);a.jsp
    String s=request.getAttribute("s").toString();
    这样,无论你在a.jsp做什么处理都可以了啊?