java - 地图中的空值
问题描述
我在根据以下代码设置地图时遇到问题。这种方式是从用户那里接收到参数的值,但是根据相关的key在map中输入值后,打印出null。请指导我
public class ImportBatchCardRespServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private FileOutputStream out;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
// Path path = Paths.get("F:\\");
System.out.println("ImportBatchCardRespServlet-AccessFilesPath: " + getInitParameter("AccessFilesPath")); // vahid-log
Path path = Paths.get(getInitParameter("AccessFilesPath"));
// List<FileItem> items = new ServletFileUpload(new
// DiskFileItemFactory()).parseRequest(request);
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory())
.parseRequest(new ServletRequestContext(req));
Map<String,String> formFields = new HashMap<>();
for (FileItem item : items) {
if (item.isFormField()) {
// Process regular form field (input type="text|radio|checkbox|etc", select,
// etc).
String fieldName = item.getFieldName();
String fieldValue = item.getString();
System.out.println("req-fieldName: "+fieldName+",req-fieldValue: "+fieldValue); //vahid-log
formFields.put(fieldName,fieldValue);
System.out.println("map-fieldName: "+formFields.get(fieldName)+",map-fieldValue: "+formFields.get(fieldValue)); //vahid-log
解决方案
formFields.put(fieldName,fieldValue);
向您的 Hashmap 添加一个值/键对,其中“fieldName”是键,“fieldValue”是值。在下一行...
System.out.println("map-fieldName: "+formFields.get(fieldName)+",map-fieldValue: "+formFields.get(fieldValue)); //vahid-log
...您似乎想测试打印键/值对。但是,HashMap 的“get”方法参数是键/值对的键,因此
formFields.get(fieldName)
将返回键/值对的值(即 fieldValue)和
formFields.get(fieldValue)
可能会返回null,因为没有与值同名的键。使用此检查行应该可以得到正确的输出:
System.out.println("map-fieldName: "+fieldName+",map-fieldValue: "+formFields.get(fieldName)); //vahid-log
干杯!
推荐阅读
- bash - 如何在 Bash 脚本中使用 sed 更改字符串
- alexa - 两个 Alexa 技能可以具有相同的调用名称吗?
- alexa - Alexa - 在调用技能内部路由后立即使用插槽
- python - 如何在没有换行符的情况下编写数组的最终索引?
- python - macos:pip 试图找到安装的 python 3.6 而不是 2.7 或 3.7
- c - 将结构复制到字节数组中
- amazon-web-services - 如何从 dockerized spring boot 收集 AWS 上的日志?
- javascript - JavaScript 将小端字符串转换为数字
- javascript - 一段时间后如何使用Javascript刷新脚本
- python - 使用带有 nargs 和 args 的 parser.parse_args() 而不是命令行输入