如何解析可选的URL参数

时间:2014-09-03 21:51:58

标签: java refactoring url-parameters

我有一个请求参数列表,这些参数都需要采取不同的操作,但所有这些都是可选的,其中任何一个都可以为null。我现在用一系列if语句来强制它,但是我想用某种HashMap和循环来清理它。这样做的正确方法是什么?

if(request.getParameter(VALUE_STRING) != null){
    complexObject.setValue(request.getParameter(VALUE_STRING));
}
if(request.getParameter(TYPE_STRING) != null){
    complexObject.setType(request.getParameter(TYPE_STRING));
}
if(request.getParameter(PATTERN_STRING) != null){
    complexObject.setPattern(Pattern.compile(request.getParameter(PATTERN_STRING)));
}

我还可以在complexObject类上添加/修改函数。

1 个答案:

答案 0 :(得分:0)

你可以从你的请求中获得一个getParameterMap()方法,它可以提供你想要的东西,然后你可以打开这些值。以下是关于所述方法的快速教程:http://www.javatutorials.co.in/servlet-getparametermap-example/

for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
    switch(entry.getKey()) {
        // do stuff
    }
}

话虽如此,您是否有理由直接访问请求,而不是使用各种MVC?在大多数MVC框架中,这种用例非常简单。