servlet的应用------request对象和bean实体的反射关系
servlet的应用------request对象和bean实体的反射关系
public class FormBeanVO{public <T> T getFormBean(HttpServletRequest request, Class<T> k) {try {T o = k.newInstance();for(Method m : k.getDeclaredMethods()) {String mName = m.getName();String requestName = request.getParameter(setLower(mName.substring(3)));if(requestName == null || "".equals(requestName)) continue;else {if(mName.startsWith("set")) {if(m.getParameterTypes()[0].equals(int.class) || m.getParameterTypes()[0].equals(Integer.class)) {m.invoke(o, Integer.valueOf(requestName));} else if(m.getParameterTypes()[0].equals(boolean.class) || m.getParameterTypes()[0].equals(Boolean.class)) {m.invoke(o, Boolean.valueOf(requestName));}else if(m.getParameterTypes()[0].equals(String.class)) {m.invoke(o, requestName);}else if(m.getParameterTypes()[0].equals(float.class) || m.getParameterTypes()[0].equals(Float.class)) {m.invoke(o, Float.valueOf(requestName));}else if(m.getParameterTypes()[0].equals(long.class) || m.getParameterTypes()[0].equals(Long.class)) {m.invoke(o, Long.valueOf(requestName));}else if(m.getParameterTypes()[0].equals(Timestamp.class)) {m.invoke(o, Timestamp.valueOf(requestName));}}}}return o;} catch (SecurityException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}return null;}private String setLower(String s) {StringBuilder builder = new StringBuilder(s);String first = s.substring(0, 1).toLowerCase();builder.setCharAt(0, first.charAt(0));return builder.toString();}}?
?
?