我用的是STRUTS, 表单上有十个INPUT框, 它们的NAME属性为 NAME1,NAME2,NAME3,NAME4,NAME5.....NAME10
然后我再ACTIONFORM中给这十个属性赋值,
其中POSITION代表的选的是第一个INPUT框,public void setNAMES(position,name)
{if(positon=1)
form.setNAME1(name);
if(position=2)
form.setNAME2(name);
if(position=3)
form.setNAME3(name);
............
if(position=10)
form.setNAME10(name);
}这样会造成很多重复代码,
谁能帮我把这一段代码重构一下呢?
或者给你想另外一种思路
然后我再ACTIONFORM中给这十个属性赋值,
其中POSITION代表的选的是第一个INPUT框,public void setNAMES(position,name)
{if(positon=1)
form.setNAME1(name);
if(position=2)
form.setNAME2(name);
if(position=3)
form.setNAME3(name);
............
if(position=10)
form.setNAME10(name);
}这样会造成很多重复代码,
谁能帮我把这一段代码重构一下呢?
或者给你想另外一种思路
解决方案 »
- 关于websphere V7.0 解析 cxf 的 wsdl 异常问题。
- 请问基于ServletContext的RequestDispatcher为什么需要synchronized
- 求助,jxl高人,很妖的问题,抓狂了。
- 最菜的问题,送分……
- 兄弟们,小弟碰到了一个问题,希望大家帮一下忙呀!~~
- jfreechart画图是,用的是org.jfree.data.time.Hour,总是出错!??:(
- 我的连接池怎么找不到oracle驱动程序?
- 页面重定向问题,路径老是不对,请指点
- 在点击全选反选的时候,怎么让页面保持原位
- jsp页面跳转
- 将页面数据导出为txt文件
- 急救!org.springframework.jdbc.UncategorizedSQLException在线等!!!!
public Object setNAMES(Object obj,ResultSet rs) {
try {
Class cls = obj.getClass();
while(rs.next()) {
Object obj = cls.newInstance();
Field[] fields = cls.getDeclaredFields(); //取出所有的字段
for (Field field : fields) {
String fieldName = field.getName();
Method method = cls.getDeclaredMethod("set"+ //取出setXXX() 方法
fieldName.substring(0,1).toUpperCase()+
fieldName.substring(1),
new Class[]{field.getType()});
method.invoke(obj,new Object[]{rs.getObject(fieldName)});
}
}
} catch (Exception ex) {
System.out.println(ex);
}
return obj;
}
这段代码可能有问题,这机子上没IDE,我用记事本敲的 ,你先试试看
如果还有什么问题可以加我qq(459322436) 来一起学习 ,这段代码还是有缺陷的
这段代码用到反射的技术 如果你懂反射,可以把这个方法设计的更完善些