Java 8:获取选择性请求参数
发布时间:2020-12-15 05:12:45 所属栏目:Java 来源:网络整理
导读:我试图从请求中找到以MultiFileId_开头的所有请求参数 我正在迭代所有请求键映射和checkig是否每个键都以MultiFileId_开头,如果匹配则将其值添加到列表中 ListString uploadedFileIds = new ArrayListString(); for (Object p : request.getParameterMap().k
我试图从请求中找到以MultiFileId_开头的所有请求参数
我正在迭代所有请求键映射和checkig是否每个键都以MultiFileId_开头,如果匹配则将其值添加到列表中 List<String> uploadedFileIds = new ArrayList<String>(); for (Object p : request.getParameterMap().keySet()) { if(p.toString().startsWith("MultiFileId_")) { String uploadedFileId = request.getParameter(p.toString()); uploadedFileIds.add(uploadedFileId); } } 在Java 8中有一种简单的方法可以实现这一点吗? 解决方法
如果您确定每个参数只有一个值:
import javax.servlet.http.HttpServletRequest; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class Example1 { public void example(HttpServletRequest request) { List<String> uploadedFileIds = Collections .list(request.getParameterNames()) .stream() .filter(parameterName -> parameterName.startsWith("MultiFileId_")) .map(request::getParameter) .collect(Collectors.toList()); } } 如果您不确定参数是否具有多个值(即request.getParameterValues(“MultiFileId_XXX”)返回长度为> 1的String []),您可以使用: import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; public class Example2 { public void example(HttpServletRequest request) { List<String> uploadedFileIds = Collections .list(request.getParameterNames()) .stream() .filter(parameterName -> parameterName.startsWith("MultiFileId_")) .flatMap(parameterName -> Arrays.stream( request.getParameterValues(parameterName))) .collect(Collectors.toList()); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 继承与多态
- 详解SpringBoot中实现依赖注入功能
- jvm支持最大线程数简单测试
- rx-java – RxSwift – .subscribe vs .subscribeNext有什么
- 如何在Java Applet中立即显示图像?
- 需要协助编译基本java程序的错误
- java 将byte中的有效长度转换为String的实例代码
- java – 使用基于Spring MVC注释的控制器和@RequestMapping
- java – loadClass(String name)和loadClass(String name,b
- servlets – 使用带有Compojure的javax.servlet.Filter