NNi*_*ikN 12 servlets http-request-parameters
HTTPServletRequest
req,有一个方法,getParameterMap()
但是,对于post数据,值返回a String[]
而不是String
名称=结婚&lastName的=约翰&年龄= 20.
我在post数据中看到它不是一个数组,但是getParameterMap()
为每个键(name或lastName或Age)返回数组.有没有更好地理解这一点的指示?
方法2中提供了代码.方法1完全正常.
方法1:
Enumeration<String> parameterNames = req.getParameterNames();
while (parameterNames.hasMoreElements()) {
String key = (String) parameterNames.nextElement();
String val = req.getParameter(key);
System.out.println("A= <" + key + "> Value<" + val + ">");
}
Run Code Online (Sandbox Code Playgroud)
方法2:
Map<String, Object> allMap = req.getParameterMap();
for (String key : allMap.keySet()) {
String[] strArr = (String[]) allMap.get(key);
for (String val : strArr) {
System.out.println("Str Array= " + val);
}
}
Run Code Online (Sandbox Code Playgroud)
kam*_*oor 16
如果您期望预先确定的参数,那么您可以使用getParameter(java.lang.String name)
方法.
否则,可以使用上面给出的方法,但是在一些差异中,在HTTP请求中,某人可以发送具有相同名称的一个或多个参数.
例如:
name=John, name=Joe, name=Mia
Run Code Online (Sandbox Code Playgroud)
仅当您希望客户端仅为名称发送一个参数值时,才能使用方法1,其余部分将被忽略.在这个例子中,你只能读"约翰"
如果您期望多个具有相同名称的值,则可以使用方法2.值将作为数组填充,如代码中所示.因此,您将能够阅读所有值,即本例中的"John","Joe","Mia"
归档时间: |
|
查看次数: |
24081 次 |
最近记录: |