⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fieldsreflect.java

📁 对jsp页面中有多个查询条件时
💻 JAVA
字号:
package org.storm.xwguan.parse;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;

import org.storm.xwguan.interfaces.IForm;
import org.storm.xwguan.util.Constants;

public class FieldsReflect {
	private Class<? extends IForm> c;
	private Field[] fields;
	private IForm form;

	// 保存form中不为空的查询字段值
	private Map<String, String> values = new HashMap<String, String>();
	private Map<Integer, String> names = new HashMap<Integer, String>();

	public void init() {
		c = form.getClass();
		fields = c.getDeclaredFields();
	}

	/**
	 * 功能:将form中的所有不为空值的字段反射出并保存在values中
	 * 
	 * @throws Exception
	 */
	private void getFieldsinfo() throws Exception {
		for (int i = 0; i < fields.length; i++) {
			Field field = fields[i];
			String fieldName = field.getName();
			names.put(i, fieldName);
			String firstLetter = fieldName.substring(0, 1).toUpperCase();
			String getMethodName = Constants.GET + firstLetter
					+ fieldName.substring(1);
			Method getMethod = c.getMethod(getMethodName, new Class[] {});
			Object o = getMethod.invoke(form, new Object[] {});
			if (o != null && !o.toString().trim().equals(Constants.K15)) {
				values.put(fieldName, o.toString());
			}
		}

	}

	public FieldsReflect() {

	}

	public FieldsReflect(IForm form) throws Exception {
		this.form = form;
		init();
		getFieldsinfo();
	}

	public void setForm(IForm form) {
		this.form = form;
	}

	public Map<String, String> getValues() {
		return values;
	}

	public Map<Integer, String> getNames() {
		return names;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -