HttpServletRequest参数小写


问题内容

在spring MVC中遵循RequestParam值不区分大小写之后,我向HttpServletRequest方法中添加了参数。但是我添加了将近20个IF条件,以拥有完整的不区分大小写的URL。

我知道,这完全是痛苦而丑陋的编码方式。我要求任何人对此提供令人惊奇的解决方案。

我需要一个不区分大小写的请求参数。正在发送的请求参数是orgID。该参数将以不同的方式出现。比如说OrgidoRgidorGidorgID......等上

我不能直接这样做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;
}