您的位置:首页 > 编程语言 > Java开发

java 获取表单传递的值

2014-12-30 16:43 375 查看
1、从request 中,获取所有参数的值。

public class ParamsUtil{

public static Object getParamsByRequest(String classname,
HttpServletRequest request) {
Object bean = null;
Enumeration enu = request.getParameterNames();
if (enu != null) {
if (classname != null && !"".equals(classname)) {
try {
bean = Class.forName(classname).newInstance();
while (enu.hasMoreElements()) { //获取bean 中所有属性
String name = (String) enu.nextElement();
String value = request.getParameter(name);
//解码
// String deString = URLDecoder.decode(value, "UTF-8");
//value = CommonUtil.getDecode(value);
if(fieldIsExist(classname, name)){
//属性存在,设值
//ReflectionUtils.setField(name, bean, value);
BeanUtils.setProperty(bean, name, value);
}
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return bean;
}

/**
* 判断类中是否存在此属性 存在,返回true
* @param className 类名
* @param fieldName 查找属性名称
* @return
* @Description:
*/
private static boolean fieldIsExist(String className,String fieldName){
//Class userCla = (Class) bean.getClass();
boolean exist = false;
Field[] fs  = null;
try {
Class  cls = Class.forName(className);
if(fs==null)
fs =  cls.getDeclaredFields();
//log.info("fs.length = "+fs.length);
for (int i = 0; i < fs.length; i++) {
Field f = fs[i];
//log.info("Field  = "+f.getName());
if(f.getName().equals(fieldName)){
exist = true;
break;
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return exist;
}
}


需要的jar包:commons-beanutils-1.8.2.jar、commons-logging-1.1.1.jar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp java web 表单
相关文章推荐