我现在有一个页面 ,需要传递两个参数给servlet,第一个 参数是另一个页面传递过来的String型的变量 ,另外一个参数通过表单提交传输。就是说当点击提交时,同时将这两个参数传递给servlet。现在的问题是,第一个参数我是通过request.setAttribute()方法传递的,在servlet中 ,通过request.getparameter(),却获取不到这个参数,请问为什么 ,如果才能传递这个参数啊?请指教!

解决方案 »

  1.   

    <form action="YourServlet" method="post">
      <input type="text" name="name" />
      <input type="password" name="password" />
      <input type="submit" />
    </form>这样就全提交过去了。
      

  2.   

    请你  request.setAttribute()方法传递的,在servlet中 ,用request.getAttribute()
    试试
      

  3.   

    request.setAttribute(),在servlet中应该是(String)request.getAttribute();
    表单提交的话就应该是request.getParametter()
      

  4.   

    你是用什么方法来跳转的?不是每个都能取到上一个页面的request的,恩,forward可以,include可以,sendRediect就不可以吧……不妨把参数写到Session里,恩,试试吧
      

  5.   

    (String)request.getAttribute();
    /
    Session.setAttribute();
      

  6.   

    楼主这个是不是代码打错了,应该是request.getParameter("parameter1");
      

  7.   

    将从另一个页面传过来的参数放到Session中试试。
      

  8.   

    request只能在一次页面传递之间保存数据,超过就会丢失,session是正确方法。
      

  9.   

    方法很多
    1,可以用Session.setAttribute();设置然后java中用Session.getAttribute();获取2,或者如下:
    <form id="form1" name="form1" method="post" action="../OA_SmsSendAddF?N=<%=Temp%>"  onsubmit="return on_submit()">Temp为你的第一个参数名,
    在java中用request.getParameter("N");获取。3,将第一个参数给为一个隐藏组件:
    <input type="hidden" name="n" value=<%=Temp%>"  >
    Temp为你的第一个参数名,
    在java中用request.getParameter("n");获取。
      

  10.   

    第一个参数 可以用个hidden 隐藏同第二个参数用同一个表单传过去检查下你的form 是否完整action 是否写正确跳转路径
      

  11.   

    用session 或者 form里的 hidden
      

  12.   

    第一个 参数是另一个页面传递过来的String型的变量在该页面加个隐藏变量标签,,就可以传过去了
      

  13.   

    方法1我试了一下,在servlet中使用Session的getAttribute()时,myelcipse提示没有这个方法,怎么回事啊?
      

  14.   

    用request传递参数的时候,首先你要保证你的请求是没断的。如果断了那你就得不到他的值了!!!在你传递第二个参数的时候你的request请求已经断了。不知道我的解释你能不能听懂
      

  15.   

    request只能在请求之间传递参数,你的第一个参数能成功传递到第一个页面,但是在第一个页面传递到Servlet的时候会中断的,
    有两个方法可以完成楼主的需求:
    1、把要传递的参数设置到session中 即在传递的时候用 
    //这个方法会耗session 如果只是为了传递这个值 而不是全局运用的话 不太推荐
           request.getSession().setAttribute("parameter1",parameter1) 2、把要传递的值设置到页面一的Form中,然后通过表单一起传递过去
        页面一:
        <input type="hidden" value=${parmeter1} name='parmeter1'/>
        Servlet端:
        request.getParameter("parmeter1");
      

  16.   

    在Servlet里用request.getSession().getAttribute("");就行了
      

  17.   


    19楼的意思应该是request只能是从一个页面直接跳到另一个页面时其中的参数值有用,传完这一次后其实这个request对象已经不存在了,所以不能继续用request将参数传给另外的页面需要用一个hindden标签进行接力。如果还想从接受参数的页面继续传送到其他页面而不需利用hidden进行接力的话,可以试试session对象传参数。
      

  18.   

    把第一传过来的参数放在隐藏域中与form中其他的东西一起提交就OK了……
      

  19.   

    10 楼是正解,你的值已经是request后返回到页面上,不可能再通过request传到后端去,是一次性的,你那样只能取到null,session是可以保留的