我有一个请求参数列表,这些参数都需要采取不同的操作,但所有这些都是可选的,其中任何一个都可以为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类上添加/修改函数。
答案 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框架中,这种用例非常简单。