首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

念实现这样一种功能,好像很难的样子.

2013-10-12 
想实现这样一种功能,好像很难的样子...[解决办法]public static void main(String[] args) {String str

想实现这样一种功能,好像很难的样子...

[解决办法]

public static void main(String[] args) {
String str = "asdsaf${sql.list}asas${rs.aaa}dfsdfsadfdf${sql.end} sadsdaf ${fun()} sffasdfasdf";
Pattern pattern = Pattern.compile("\\$\\{([^.]+)\\.?(.*?)\\}");
Matcher m = pattern.matcher(str);
while(m.find()) {
String fun = m.group(1);
String paras = m.group(2);
if(paras!=null&&!paras.equals("")){
System.out.println(fun+"(""+paras+"")");
}else {
System.out.println(fun);
}
}
}

[解决办法]
如果碰到${sql.list}这个字符串就开始执行java函数sql(),碰到${rs.aaa}就开始执行rs("aaa")
-----------------------------------------------------

sql.list,方法是sql,不带参。rs.aaa,方法是rs,又把后面的当参数,你规则都不一样不写if怎么可能。
[解决办法]


// 反射出元素类
Class<?> cls = Class.forName("className");

// 根据反射的元素类生成实例
Object obj = cls.newInstance();
//通过名字获取方法
Field field = null;
field = cls.getDeclaredField("methodName");
//注入参数,运行方法
field.set(obj,"value");

热点排行