HttpServletRequest参数小写
问题内容:
在spring MVC中遵循RequestParam值不区分大小写之后,我向HttpServletRequest
方法中添加了参数。但是我添加了将近20个IF条件,以拥有完整的不区分大小写的URL。
我知道,这完全是痛苦而丑陋的编码方式。我要求任何人对此提供令人惊奇的解决方案。
我需要一个不区分大小写的请求参数。正在发送的请求参数是orgID。该参数将以不同的方式出现。比如说Orgid
,oRgid
,orGid
,orgID
......等上
我不能直接这样做request.getParamter ("orgID")
。为此,我添加了许多if条件。:-(正如我所说,完全难看的编码。
问题答案:
尽管此概念是错误的(在不同情况下获取参数不是很好),但以下代码段有效:
String getCaseInsensitiveParameter(HttpServletRequest request){
Map params = request.getParameterMap();
Iterator i = params.keySet().iterator();
while ( i.hasNext() )
{
String key = (String) i.next();
String value = ((String[]) params.get( key ))[ 0 ];
if ("orgid".equals(key.toLowerCase()) {
return value;
}
}
return null;
}