我想在 HttpServletRequest
的参数映射中添加一个新参数。
以下代码
request().getParameterMap().put("j_username", user);
request().getParameterMap().put("j_password", pwd);
产生这个错误
no modifications are allowed to a locked parameter map
这样做的正确方法是什么?
最佳答案
请求的参数是浏览器作为参数发送的值。没有理由改变它们。如果您想将某个值与请求相关联,请使用属性而不是参数。这有一个额外的好处,一个属性可以是任何对象,而不仅仅是一个字符串:
request.setAttribute("user", new User(userName, password));
如果您将请求转发到另一个资源,您可以添加参数(尽管我不会说这是一个好习惯):
request.getRequestDispatcher("/some/path?j_username=" + user + "&j_password=" + pwd).forward(request, response);
不过,参数应该正确编码。
关于java - 如何向我的 Java Servlet 的现有 HttpServletRequest 添加参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8551331/