首先在servlet里面使用
String qid="123",aid="456";
request.setAttribute("qid",qid);
request.setAttribute("aid",aid);
request.getRequestDispatcher("index.jsp").forward(request,response);在index.jsp页面里<input name="qid" value="${requestScope.qid}">
<input name="aid" value="${requestScope.aid}">遇到问题如下:
第一次执行,index.jsp的两个文本框里显示了123  456
但是一刷新,就没有值显示了
为什么呀?

解决方案 »

  1.   

    ${qid}这样就可以显示了吧,试试
      

  2.   

    其实问题很简单,你第一次执行的是serverlet有了请求,request中才有值,但是第二次你刷新的时候没有向Servlet发出请求,所以就没有值。
      

  3.   

    ${qid} 和${requestScope.qid}是一样的吧,呵呵
    还是不行哦
      

  4.   

    第一次servlet传到JSP的请求中带有值,当你刷新的时候,已经不是Servlet请示JSP页了,而是你的浏览器请求JSP页了,此时你浏览器中的request不带值,所以不会显示。
      

  5.   

    要想刷新后也有值,就用Session作用域吧,session.setAttribute("qid",qid);
      

  6.   


    我在servlet里面写了System.out.print(request.getParameter("qid"));显示的是null没有取到<input name="qid" value="${requestScope.qid}">这个对象....???
      

  7.   

    这个值放在request里面本来就是在request范围内有效的,你刷新了自然就没有了。
    你看一下,你的url
      

  8.   

    再就是把你的URL弄成这样   …….jsp?qid = 123 & aid = 456
      

  9.   


    我没有把值放在url里
    就直接在servlet里用request.getParameter()取的值
      

  10.   

    唉!你连参数都没有,肯定是NULL了
      

  11.   

    request只在页面跳转时传递参数 传递完成之后就失效
    如果用session application等作用域 可以实现楼主的想法
      

  12.   

    如果是浏览器直接请求servlet,那么再次刷新,相当于再次向浏览器发送一次请求,这么做是有值的,如果搂主是通过提交表单,进而请求servlet,那么势必搂主得再提交一次
      

  13.   

    存session里就可以了或者你写个脚本,把F5屏蔽掉
      

  14.   


    我是通过提交表单,进而请求servlet的。
      

  15.   

    算了,我还是放在session里面,嘿嘿。。
    谢谢大家咯!!
      

  16.   

    HttpServletRequest的作用域没搞清楚!
      

  17.   

    他那个值是在servlet里面赋的,不管哪里提交效果是一样的