Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法从JSP/Servlet按原始顺序获取POST参数?_Java_Jsp_Servlets - Fatal编程技术网

Java 有没有办法从JSP/Servlet按原始顺序获取POST参数?

Java 有没有办法从JSP/Servlet按原始顺序获取POST参数?,java,jsp,servlets,Java,Jsp,Servlets,这是一个枚举,它包含未指定顺序的参数名 有没有办法从POST请求中获取原始文本 我想按如下原始顺序获取参数(如Chrome Developer工具所示): 顺便说一句:我尝试了request.getQueryString()只从URL返回查询(GET方法),无法从POST方法获取任何参数。您可以自己解析URL。只需确保以可预测的迭代顺序(例如LinkedHashMap)将结果存储在一个集合中即可。使用java脚本您可以形成一个可验证的集合,该集合将按顺序保存您的参数,如果您想用逗号将其分开。然后

这是一个
枚举
,它包含未指定顺序的参数名

有没有办法从POST请求中获取原始文本

我想按如下原始顺序获取参数(如Chrome Developer工具所示):


顺便说一句:我尝试了
request.getQueryString()
只从URL返回查询(GET方法),无法从POST方法获取任何参数。

您可以自己解析URL。只需确保以可预测的迭代顺序(例如LinkedHashMap)将结果存储在一个集合中即可。

使用
java脚本
您可以形成一个可验证的集合,该集合将按顺序保存您的参数,如果您想用逗号将其分开。然后将这些参数传递给控制器。这种方法为您提供了按顺序获取值的便利。

提交表单时,您可以调用javascript中的某些函数。现在,该函数将从用户输入的页面读取数据。您可以创建post请求并按要求的顺序传递此参数。

ServletRequest.getInputStream()返回原始输入流,但需要使用正确的字符编码来构建post正文。e、 g,

d=3&e=5&c=1&a=4&b=2

谢谢,我尝试从
请求.getInputStream()
获取数据,但没有任何内容,只有空流。可能它已经被
ServletRequest
解析了?请确保您的web框架没有读取请求输入流,然后再尝试读取它。您使用的是任何web框架还是servlet?不,只是在JSP中阅读它,我尝试在servlet中处理
请求。getInputStream()
?试试这个:但是参数不在URL中
Enumeration e = request.getParameterNames();
while(e.hasMoreElements()){
    out.println(e.nextElement());
}
d=3&e=5&c=1&a=4&b=2
r = new BufferedReader(new InputStreamReader(request.getInputStream(), "utf8"));
StringBuilder sb = new StringBuilder();
String line;
while ( (line = r.readLine()) != null) sb.append(line);
System.out.println(sb.toString());