Class c1 = Class.forName(form.getClass().getName());
Method m1 = c2.getMethod("set" + field, value.getClass());
Object obj1 = m2.invoke(form, value);我想差不多你就是想要这个吧
Method m1 = c2.getMethod("set" + field, value.getClass());
Object obj1 = m2.invoke(form, value);我想差不多你就是想要这个吧
解决方案 »
- org.apache.jasper.JasperException: Template /template/ajax/text.ftl not found
- 关于jsp页面用户上传图片,动态显示的问题~~~~~~~~~~~
- jboss 6.0 jms 问题
- spring的这种事务声明方式中怎么配置rollback-for的Exception?
- 如何获取积分
- 数据库的数据 list 写入xml 《求救》
- 有专门介绍JavaMail的书吗?(说的多者50)(急)
- webwork2中的Resource Bundle怎么配置?
- Duke实例的运行
- 异常烦恼的java异常:java.lang.IllegalStateException
- 北京公司招聘java高手
- 使用Struts的taglib后,javascript不好用了?
功能就是將value賦給bean
properties中key是reqeust的name.
public static void populate(Object bean, Map properties)
throws IllegalAccessException, InvocationTargetException { if ((bean == null) || (properties == null))
return; /*
if (debug >= 1)
System.out.println("BeanUtils.populate(" + bean + ", " +
properties + ")");
*/ // Loop through the property name/value pairs to be set
Iterator names = properties.keySet().iterator();
while (names.hasNext()) { // Identify the property name and value(s) to be assigned
String name = (String) names.next();
if (name == null)
continue;
Object value = properties.get(name); // String or String[]
if (debug >= 1)
System.out.println(" name='" + name + "', value.class='" +
(value == null ? "NONE" :
value.getClass().getName()) + "'");
// Get the property descriptor of the requested property (if any)
PropertyDescriptor descriptor = null;
try {
descriptor = PropertyUtils.getPropertyDescriptor(bean, name);
} catch (Throwable t) {
/*
if (debug >= 1)
System.out.println(" getPropertyDescriptor: " + t);
*/
descriptor = null;
}
if (descriptor == null) {
/*
if (debug >= 1)
System.out.println(" No such property, skipping");
*/
continue;
}
/*
if (debug >= 1)
System.out.println(" Property descriptor is '" +
descriptor + "'");
*/ // Identify the relevant setter method (if there is one)
Method setter = null;
if (descriptor instanceof IndexedPropertyDescriptor)
setter = ((IndexedPropertyDescriptor) descriptor).
getIndexedWriteMethod();
if (setter == null)
setter = descriptor.getWriteMethod();
if (setter == null) {
/*
if (debug >= 1)
System.out.println(" No setter method, skipping");
*/
continue;
}
Class parameterTypes[] = setter.getParameterTypes();
/*
if (debug >= 1)
System.out.println(" Setter method is '" +
setter.getName() + "(" +
parameterTypes[0].getName() +
(parameterTypes.length > 1 ?
", " + parameterTypes[1].getName() : "" )
+ ")'");
*/
Class parameterType = parameterTypes[0];
if (parameterTypes.length > 1)
parameterType = parameterTypes[1]; // Indexed setter // Convert the parameter value as required for this setter method
Object parameters[] = new Object[1];
if (parameterTypes[0].isArray()) {
if (value instanceof String) {
String values[] = new String[1];
values[0] = (String) value;
parameters[0] = ConvertUtils.convert((String[]) values,
parameterType);
} else if (value instanceof String[]) {
parameters[0] = ConvertUtils.convert((String[]) value,
parameterType);
} else {
parameters[0] = value;
}
} else {
if (value instanceof String) {
parameters[0] = ConvertUtils.convert((String) value,
parameterType);
} else if (value instanceof String[]) {
parameters[0] = ConvertUtils.convert(((String[]) value)[0],
parameterType);
} else {
parameters[0] = value;
}
} // Invoke the setter method
/*
if (debug >= 1)
System.out.println(" Setting to " +
(parameters[0] == null ? "NULL" :
"'" + parameters[0] + "'"));
*/
try {
PropertyUtils.setProperty(bean, name, parameters[0]);
} catch (NoSuchMethodException e) {
/*
if (debug >= 1) {
System.out.println(" CANNOT HAPPEN: " + e);
e.printStackTrace(System.out);
}
*/
} } /*
if (debug >= 1)
System.out.println("============================================");
*/ }
{
try{
Class c1 = Class.forName(form.getClass().getName());
Method m1 = c1.getMethod("set" + field, value.getClass());
Object obj1 = m1.invoke(form, value);
}catch (Exception e)
{
}
}是这样写吗
在form中加一个数据库表的邦定就可以了。
比如下面代码所示:
public TaxEnrolActionForm() {
mrs = new RowSet();
DaoEJBBean Dao=new DaoEJBBean();
RowSet result=null;
CallService objTaxEnrol=new CallService();
try{
String strSQL="select * from BDSIC_CIRCS_ENREGISTER";
mrs=Dao.runSQLReturnRS(strSQL);
//mrs=objTaxEnrol.getTableStruct("result");
mrs.addEmptyRow();
mrs.moveLast();
}
不知道我说的对不对啊?*_*
还有invoke(Object obj, Object[] args)