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

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

2008年12月15日 5094点热度 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
回复

老杨

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

搜索
最新 热点 随机
最新 热点 随机
别成为AI的奴隶 给阿嬷的情书 信息焦虑综合症 PUA 人的悲喜并不相通 RIME输入法万象拼音输入方案更改自定义短语文件的方法 禁用RIME输入法万象拼音输入方案表情的办法 幸福者避让原则 WordPress插件WP-Editor.md代码语法无法高亮问题的解决方案 RIME的自动化配置与同步
我的能量哲学(一)一切都是能量 逢赌必输 给网站添加公益广告 准备换一种开发模式 解决WordPress遇到的MySQL server has gone away的错误 童年趣事之闹绯闻 Rootkit查杀 使用JavaBean连接Sqlserver数据库 Debian 11修改环境变量解决命令找不到的问题 My new wordpress theme
最新评论
  • 信息焦虑综合症上的shanshan先从减少手机使用时间开始。
  • 第二青春计划失败上的shanshan所以必须得自己下定决心痛改前非,而不是跟自己讲条件。
  • 第二青春计划失败上的老杨这种平台挺多的,但是应该没啥用,能有啥情绪价值比躺着刷手机更好呢?
  • 春秋航空让人长见识上的老杨已经遇到了,额外支付了170,托运登机行李,还不是托运行李。
  • PUA上的老杨那很好,恭喜你
  • 信息焦虑综合症上的老杨可以尝试改变。
  • 别成为AI的奴隶上的老杨现在很多人离开AI已经不知道怎么工作了。
  • 第二青春计划失败上的shanshan建议开发一个适合P人的工作生活计划平台,完不成没什么惩罚、但是完成了有…
  • 春秋航空让人长见识上的shanshan还有部分机型里20寸箱子应该上不了机,且没有免费行李托运额度。托运费超…
  • 人的悲喜并不相通上的shanshan这个世界精致利己主义者太多啦!
文章分类
关注公众号

COPYRIGHT © 2026 老杨说话的地方 版权所有

THEME KRATOS YANG Modified BY 老杨

鲁ICP备17014997号-4

鲁公网安备 37021302000754号