一个Jsp变量声明如下:
<% String var = "123456789012345678901234567890" ;%>
通过JS传参时:
form.action = "target.jsp?var=<%=var%>";
为何到target.jsp通过request.getParameter("var");接收到的值却不是
123456789012345678901234567890
请说明原因并写出解决方法?
[code="java"]
<% String var = "123456789012345678901234567890" ;%> [/code]
[b]
以上在JSP的PageScope中设置var变量及属性值。
以下到达JSP后,会在JSP的RequestScope中生成一个var变量,及对应的值[/b]
[code="js"]form.action = "target.jsp?var=<%=var%>"; [/code][b]
所以request.getParameter("var")是从RequestScope中取的HTTP参数的。不是取页面内的参数[/b]
不是这个是什么,
首先你先确定下form.action 赋值有没搞对
先看看跳转到的那个action的地址后面有没有?var=....
如果没有的话那证明没有传过去
你这样传值是不规范的,
通常的解决办法是这样的:
把变量放到隐藏域中,然后js获取隐藏域的值。
[code="html"]
传到服务器上的值是什么?
[code="java"]<%
String var="123456789012345678901234567890";
request.setAttribute("var",var);
%>[/code]这样写,就行了,你的那种写法,是将值存入了pageScope中的,如果想要request取,应该存到request中,建议你去看一下Servlet中的九大内置对象,再看一看相关的作用域。。。你会有所收获的
jsp获取form表单元素值的问题 [url=http://www.phome.asia/forum/thread/293.html] www.phome.asia/forum/thread/293.html[/url]
function employeeList(id){ document.handle.action ="yy.jsp?var="+document.getElementById("str"); document.handle.submit(); }这样不就得到了吗!!!!!!!!
form.action = "target.jsp?var=<%=var%>";
最好不要在action这里传值吧
可以在url地址处传值啊 html://...?var=...
在target.jsp中调用request.getParameter("var");就能拿到值了吧