用action执行方法
来源:互联网 发布:joo yeon seo韩国 编辑:程序博客网 时间:2024/06/11 04:27
用dom4j解析xml标签,并将标签属性与文本内容添加进集合,创建方法,传入action查找对应的id,从何获取类路径与方法,利用反射执行方法
FrameUtil.java
public class FrameUtil {List<Student> list = new ArrayList();public static void main(String[] args) throws Exception {FrameUtil f = new FrameUtil();f.executeMethod("2", f.jie());}private List<Student> jie() throws Exception {// TODO Auto-generated method stubElement root = new SAXReader().read(new File("./src/studentInfo.xml")).getRootElement();Iterator<Element> it = root.elementIterator();while (it.hasNext()) {Student stu = new Student();Element elStu = it.next();stu.setId(elStu.attribute("id").getValue());stu.setClassName(elStu.attribute("className").getValue());stu.setMethod(elStu.attribute("method").getValue());Iterator<Element> it2 = elStu.elementIterator();while (it2.hasNext()) {Element zi = it2.next();if ("name".equals(zi.getName())) {stu.setName(zi.getTextTrim());}if ("college".equals(zi.getName())) {stu.setCollage(zi.getTextTrim());}if ("telephone".equals(zi.getName())) {stu.setTelephone(zi.getTextTrim());}if ("notes".equals(zi.getName())) {stu.setNotes(zi.getTextTrim());}}list.add(stu);}for (Student s : list) {System.out.println(s.getId() + " , " + s.getClassName() + " , "+ s.getMethod() + " , " + s.getName() + " , "+ s.getCollage() + " , " + s.getTelephone() + " , "+ s.getNotes());}return list;}public Object executeMethod(String action, List<Student> para)throws Exception {String cname = "";String method = "";for (Student stu : list) {if (stu.getId().equals(action))// 判断id和action相同{// 获取类名和方法cname = stu.getClassName();method = stu.getMethod();break;// 跳出循环}}Class<?> cl = Class.forName(cname);// 加载类名Object obj = cl.newInstance();// 获取对象Method me = cl.getDeclaredMethod(method, List.class);// 获取方法对象Object objReturn = me.invoke(obj, para);// 执行方法return objReturn;}}UserDao1.java
public class UserDao1 {public void add() {System.out.println("正在调用add方法");}public String select(List<Object> list) {System.out.println("正在调用select方法");for (Object obj : list) {System.out.println(obj);}return "ok";}}
阅读全文
0 0
- 用action执行方法
- Action执行的方法
- struts2的action中方法重复执行
- Struts同一个action执行多个方法
- Struts2点击链接执行action方法
- Strutc 2中Action中的执行方法
- struts2中的action方法的执行顺序
- struts1不能执行action里方法(没有正确覆写action里的方法)
- struts2执行2次(两次二次)action方法的解决办法
- 访问某页面后自动执行某一action的方法
- struts2 action中的execute方法只执行一次
- 选择下拉框执行一个action(js方法)
- Struts2中action的方法被执行两次
- struts2中Action中的方法执行两次的原因
- Struts2 中Action中方法被执行两次的原因
- jquery ajax json struts2 action中的方法执行了两次
- Struts2 请求一次Action,却执行两次方法的解决
- 关于action默认执行execute()方法一点想法
- 关于通过curl函数请求微信接口的总结
- 仿射变换中交比调合比概念
- 在 CSS 预编译器之后:PostCSS
- angular基础知识以及样例demo
- map的4种插入方式
- 用action执行方法
- linux 基础讲解
- Java多线程知识要点
- ffmpeg AVFilter介绍
- java中堆内存与栈内存区别
- CAD图纸转换之cad图怎么转换成pdf的经验分享
- Redis VS. Memcached 均不适合数据量高于1千万条,且保证数据完整的key-value存储
- [LeetCode 204] Count Primes(Python)
- day15-session&jsp&验证码