Jsp中request.getParameter("@param")值为[object HTMLInputElement]
jsp窗体之间传递参数是常有的。一般窗体传参就是从一个窗体提交数据到另一个窗体。而提交方式常用的有两种方式:Get()方式、Post()方式。这两种方式的区别和各自的好处相信朋友们都有所了解,如想细致了解的,请在百度中搜索了解一下。在此提供一篇不错的文章 GET POST 区别详解 。
今天,要说的是,在参数提交过程中,出现没能取得传递的参数的情况。主要原因:在js中提交时,所传递的参数的命名与jsp中html元素名相同了。程序在解析的时候,没法区别,传递过去的不再是声明的变量及对应的值,转而传递同名的html元素。请看图:
Jsp窗口部分html代码:
jsp中的触发提交事件:
采用firefox进行跟踪,结果如下:
服务端,无法获取:
String clientName = request.getParameter("clientName");
out.println(clientName);
打印结果:[object HTMLInputElement],不满足我们的需要。
结论:在js中声明变量,应避开与html元素取相同的名字。

本文探讨了JSP中因JavaScript变量名与HTML元素名相同导致的参数传递问题。当使用request.getParameter方法时,若遇到返回[objectHTMLInputElement]而非预期值的情况,需检查变量命名是否与HTML元素重复。
2612

被折叠的 条评论
为什么被折叠?



