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());