Forms 带有查询字符串的HTML表单POST方法
假设我的页面上有一个带有method=POST的表单。 现在这个表单有了一些基本的表单元素,比如textbox、checkbox等 它的操作URL为 我明白这实际上是一件自相矛盾的事情,但我的问题是,它在实践中会起作用吗 所以我的问题是,Forms 带有查询字符串的HTML表单POST方法,forms,query-string,struts-1,Forms,Query String,Struts 1,假设我的页面上有一个带有method=POST的表单。 现在这个表单有了一些基本的表单元素,比如textbox、checkbox等 它的操作URL为 我明白这实际上是一件自相矛盾的事情,但我的问题是,它在实践中会起作用吗 所以我的问题是, 因为form方法是POST,我的URL中也有一个querystring(?param=value) 它能正常工作吗?i、 e.我是否能够在接收页面(someAction.do)上检索param=值 假设我使用Java/JSP访问服务器端的值。那么,在服务器端获
如果您使用的是EL(JSP表达式语言),还可以通过以下方式获得它们:
${param.param_name}
编辑:如果请求查询字符串和POST数据中都存在参数名
,则它们都将作为值数组返回,第一个是查询字符串
在这种情况下,getParameter(“param_name”)
将返回它们中的第一个(如上所述),但是可以使用getParameterValues(“param_name”)
方法以以下方式读取这两个值:
String[] values = request.getParameterValues("param_name");
有关详细信息,.是。您可以在操作类中检索这些参数。 只需使用getter和setter创建同名属性(在您的示例中为param) 示例代码
private String param;
{... getters and setters ...}
执行此操作时,参数值(通过URL传递)将被保存到该特定属性的getter中。通过此操作,您可以使用该值执行任何操作。POST方法仅对用户隐藏提交的表单数据。除非使用特殊工具,否则用户无法查看已发送到服务器的数据 通过
GET
方法,任何人都可以查看它拥有哪些数据。您可以轻松地从URL查看数据(例如,通过查看查询字符串中的键值对)
换言之,这取决于你表现出(也许不重要)通过在表单操作中使用查询字符串将数据发送给用户。例如,在数据表筛选器中。要保持当前分页状态,可以使用domain.com/path.do?page=3
作为操作
。还可以在表单组件中隐藏其他数据,如输入
,文本区域
,等等
这两种方法可以在服务器上以相同的方式捕获。例如,在Java中,通过使用
request.getParameter(“page”)
是的,您可以在任何页面上访问POST
和GET
变量。要获取这些值,请使用print\r($\u-GET);
和print\r($\u-POST)与大多数脚本语言一样,JSP可以单独访问GET和POST变量,也可以作为单个数据集的一部分访问它们……每种方法都有不同的函数(如果我没记错的话,getParameter()方法将同时访问GET和POST参数。Google可以帮助您找到库,分别访问每组参数。)您理解这个问题,并且可以在上面进行解释。但我的问题是:对于查询字符串和表单中出现的键名,哪个值应优先?@ifelsemonkey两者都将返回:第一个是查询字符串中的键名,第二个是POST正文中的键名。还要注意getParameter()
将只返回它们中的第一个(以查询字符串值为准),但您可以使用getParameterValues
以以下方式读取它们:string[]lines=request.getParameterValues(“name”);
了解更多信息。相应地编辑我的答案。