接收表单封装

	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);
	}

你可能感兴趣的:(封装)