public ActionForward doUpdateDailyById(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
Enumeration enums = request.getParameterNames();
Map<String,String> map = new HashMap<String,String>();
while (enums.hasMoreElements()) {
String key = enums.nextElement().toString();
String value = request.getParameter(key);
map.put(key, value);
}
Class<?> classType = MmsConf.class;
Object mmsConf = classType.newInstance();
Field[] fields = classType.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
String fieldName = field.getName();
String fieldValue = "";
if (map.get(fieldName) != null) {
fieldValue = map.get(fieldName);
} else {
continue;
}
String firstLetter = fieldName.substring(0, 1).toUpperCase();
String setMethodName = "set" + firstLetter + fieldName.substring(1);
Method setMethod = classType.getMethod(setMethodName,new Class[]{field.getType()});
Object[] args = null;
if(field.getType().getSimpleName().equals("String")){
args = new Object[]{fieldValue};
}else if(field.getType().getName().equals("int")){
args = new Object[]{Integer.parseInt(fieldValue)};
}
if(!"".equals(fieldValue)){
setMethod.invoke(mmsConf, args);
}
}
mmsService.updateMmsDailyById((MmsConf)mmsConf);
return doGetMmsDailyByUser(mapping,form,request,response);
}
11-11