HTML表单POST方法,在操作URL中使用查询字符串

tes*_*dtv 7 forms struts-1 query-string

假设我的页面上有一个带有method = POST的表单.现在这个表单有一些基本的表单元素,如文本框,复选框等.它的操作URL为http://example.com/someAction.do?param=value

我确实理解这实际上是一件相互矛盾的事情,但我的问题是它是否会在实践中发挥作用.

所以我的问题是;

  1. 由于form方法是POST,我的URL中也有一个查询字符串(?param = value)它会正常工作吗?即我能够在我的接收页面上检索param =值(someAction.do)

  2. 假设我使用Java/JSP访问服务器端的值.那么在服务器端获取值的方法是什么?语法是否相同,以访问param = value的值以及textbox/radio button/checkbox等表单元素?

Dar*_*eal 1

1) 是的,您将有权访问 POST 和 GET 变量,因为您的请求将包含这两者。因此,您可以相应地使用 $_GET["param_name"] 和 $_POST["param_name"] 。

2) 使用 JSP,您可以对两者使用以下代码:

<%= request.getParameter("param_name") %>

如果您使用 EL(JSP 表达式语言),还可以通过以下方式获取它们:

${param.param_name}
Run Code Online (Sandbox Code Playgroud)

编辑:如果param_name请求 QueryString 和 POST 数据中都存在,则它们都将作为值数组返回,第一个是 QueryString。

在这种情况下,getParameter("param_name)将返回其中的第一个(如此处所述getParameterValues("param_name") ,但是可以使用该方法按以下方式读取它们:

String[] values = request.getParameterValues("param_name"); 
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请阅读此处