老杨说话的地方
  • 首页
  • 关于老杨
  • 博客时间
  • 文章分类
    • 人生感悟
    • 信息技术
    • 往事随风
    • 情感随笔
    • 文学创作
    • 生活记录
    • 评论杂谈
    • 人工智能
  • 留言本
我是老杨
张驰有度 宠辱不惊
  1. 首页
  2. 信息技术
  3. 网上办公系统
  4. 正文

动态调用JavaBean的set方法(续)

2008年12月15日 4600点热度 0人点赞 3条评论

前面写过一篇文章,叫做动态调用JavaBean的set方法,讨论如何在java中动态的向JavaBean设置属性值,前提是调用JavaBean的类并不知道JavaBean中都有哪些属性,前面文章讨论的解决方法有一个问题,就是被调用的JavaBean中的属性必须是public的,这违背了面向对象语言的封装性,今天这个问题终于得到解决,完全抛弃前面所编写的代码,不过仍然是使用反射机制来实现的。

Java语言: 临时自用代码@代码发芽网
public Object setProperty(String ClassPath,HttpServletRequest req)
{
    try{
        Class ClassName=Class.forName(ClassPath);
        Object ClassInstance=ClassName.newInstance();
        Method[] MethToExe=ClassName.getDeclaredMethods();
        for(int i=0;i<MethToExe.length;i++)
        {                               
            String MethName=MethToExe[i].getName();
            if(MethName.substring(0, 3).equals("set"))
            {                           
                String Parameter=req.getParameter(MethName.substring(3));
                if(Parameter==null||Parameter.trim().equals(""))
                {
                    continue;
                }else{
                    Object arglist[] = new Object[1];
                    arglist[0] = new String(Parameter);                       
                    MethToExe[i].invoke(ClassInstance, arglist);
                }
            }
        }
        return ClassInstance;
    }catch(Exception e)
    {
        e.printStackTrace();
    }
    return null;       
}

这里实现的是将前台request对象传递过来的数据封装到bean中,首先得到所有的方法,如果是set方法,那么就使用invoke方法调用这个函数,这种方法基本上可以满足系统的需求了。

标签: java javabean 网上办公系统
最后更新:2008年12月15日

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

点赞
订阅评论
提醒
guest

guest

3 评论
内联反馈
查看所有评论
hope
hope
游客
2009年4月29日 下午6:51

哈哈,会的

0
回复
hope
hope
游客
2009年4月29日 下午4:22

吼吼,正在网上搜索invoke什么意思,结果搜到你了,哈哈……

0
回复
老杨
老杨
作者
回复给  hope
2009年4月29日 下午6:48

@hope @hope, 看来你多读读我的博客能节省不少时间

0
回复

老杨

博士,非博学之士;讲师,讲所学所知。糊涂半生,虚度半世,唯愿平淡快乐,度过此生。

搜索
最新 热点 随机
最新 热点 随机
中国是不是体育强国? 成功的必备因素 关于华为 别再侮辱我的智商 春秋航空让人长见识 第二青春计划失败 第二青春计划 模型训练错误RuntimeError: expected scalar type Half but found Float 加载onnx模型进行推理 PyTorch模型转onnx格式
回家了 事情的真相 不存在的申请(小说) 初为人师 你们是英雄 开始玩转微博客 摄像是个体力活 五月槐花香 天生骄傲 晴迷星途42避而不见
最新评论
  • 成功的必备因素上的xqiushi应该是那样子的。坚持锻炼后体重变化不大,体型会有变化:肥肉会少,肌肉会…
  • 成功的必备因素上的老杨感觉上瘦了,不过体重并没有减轻,很奇怪,难道说是脂肪少了,肌肉多了?
  • 中国是不是体育强国?上的xqiushi听说今年苏超很火。
  • 成功的必备因素上的xqiushi大半年过去了,瘦了吗?
  • 中国是不是体育强国?上的Ra运动需要器材、需要场地费用、需要时间、需要搭子,运动都是和竞技挂钩的,…
  • 开张大吉上的yorkzz试试你的评论功能
  • 关于华为上的老杨确实,苹果手机系统还是有优势的。
  • 关于华为上的乱云AKAY自从换了苹果手机后,对手机再没以前那样热爱研究了,主要是系统省心。
  • 第二青春计划失败上的老杨第二都失败了,第三就算了吧。
  • 春秋航空让人长见识上的老杨应该提供一点水,至少给不想买水的人一个选择的空间。

Google java jsp linux QQ wordpress 中国 习惯 人生 公司 决定 博士 博客 同学 国家 大学 学习 实验室 家 小说 工作 开始 思考 情感 手机 技术 推荐 插件 数据库 文件 晴迷星途 朋友 生活 电影 相声 程序 笔记 网站 网络 置顶 美国 评论 软件 音乐 项目

关注公众号

COPYRIGHT © 2020 老杨说话的地方. ALL RIGHTS RESERVED.

THEME KRATOS YANG Modified BY 老杨

鲁ICP备17014997号-4

鲁公网安备 37021302000754号