form.action传参之后servlet不能接收form表单数据,附上代码,求高手解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了form.action传参之后servlet不能接收form表单数据,附上代码,求高手解决相关的知识,希望对你有一定的参考价值。

jsp代码:
<body>
<form id="loginform" name="loginform" method="post" action="user.do?command=login">
用户名:<input id="username" name="username" type="text"/>
密码:<input id="password" name="password" type="password"/>
<input id="submitBtn" name="submitBtn" type="submit" value="提交"/>
</form>
</body>
将action里面的参数command去掉,servlet就能接收用户名和密码。
如果用谷歌浏览器也能接收到。
本人用的系统是win8,不知道是不是IE10的问题,求高手解决,谢谢~~

不是你的IE问题
1,你form的method="post",指是使用http加密发送参数
2,你form的action="user.do?command=login"中?代表是显式发送参数

也就是说你使用了俩种请求提交方法,虽然页面上同时使用俩种不会报错,但是servlet后台获取值的时候会默认以post方式接收参数。
所以你?后面的参数只能根据路径截取而获得(键值对,(name,value))。

建议把command以<input type="hidden" id="command" name="command" value="login">形式放在form里,或者显式传参(?的形式)
参考技术A ?command=login" 这是什么意思 ,传参吗? post不能在action后面传参的 要想这样传只有用get方法 参考技术B 这种问题,还真心没有遇到过,不过按照经验来看,你把command换一个名字呢?比如type,method等等 参考技术C 你用的什么框架?我记得在struts配置里设置一个参数parameter=command

以上是关于form.action传参之后servlet不能接收form表单数据,附上代码,求高手解决的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud中服务消费者接受前台传参问题(报错415)

用超链接传参时怎样一次传递多个参数

表单form action的url写法

form action中get post传递参数的问题

微信表单提交的坑

Linux Shell 通过传参的方式往/etc/user.conf里添加用户