I have a form that submits to a servlet that has optional parameters. If they are empty they are just ignored. This is the template I am using:
if (!(param = (String)params.get("httpParam")).equals("")) {
// Handle parameter
}
It doesn't quite feel right. It works, but I think it could be more readable. Any suggestions?
2 Answers 2
I suggest extract code for getting parameter to separate method (see extract method refactoring's tehnique):
param = getOptionalParameter("httpParam");
if (! param.isEmpty()) {
// Handle parameter
}
You can populate a map containing all your parameters and than convert that map into POJO:
HashMap map = new HashMap();
Enumeration names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
map.put(name, request.getParameterValues(name));
}
BeanUtils.populate(data, map);
Where 'data' is your POJO class with attributes corresponding to your parameter names.
-
1\$\begingroup\$ How about request.getParameterMap() instead of while loop? \$\endgroup\$Alexander Vasiljev– Alexander Vasiljev2011年12月03日 11:26:26 +00:00Commented Dec 3, 2011 at 11:26