<script language="JavaScript"><!--
function doAdd() { if ( _validation( webPayForm )){ webPayForm.submit(); }else{ return false; }}
--></script>
<br><br><form action="WebPay.do" name="webPayForm" onsubmit="return _validation( this )"><%request.setAttribute("test", "test"); %>
以上是部分代码,关键的就是request.setAttribute("test", "test");这里的test不是form表单的属性,直接用request赋值,为什么在对应的action中取不到,如果在action中用request.setAttribute()赋值就可以去到,这是为什么,我知道如果加一个hidden属性可以将值传过去,但是就是好奇为什么直接用request就不能取到,是本身就取不到,还是我代码问题
谢谢,你回答得很详细,是不是由此也看出form提交表单到action,相当于进行了一次重定向
追答对,是的。因为我们打开一个页面算一次请求,而form提交表单 就又是另一次请求,就算你的请求地址和上次的请求地址一样,仍然就丢失参数。这就充分说明了 请求进行了重定向。
追问好,谢谢,基础不扎实就是不行,谢谢了
追答不客气。
你回答的也不错,谢谢
request 只在当前页面有效
正确写法应该是放在form里
<form action="WebPay.do" name="webPayForm" onsubmit="return _validation( this )">