java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用
最近有一个有很多输入框的JSP页面,在页面上 input name 都是有规律的命名,在提交到后台时,通过JAVA反射机制可以减少不少代码量,特此记录一下实现!
JSP页面大概如下:
- 全程陪诊后续价格:
-
- V2普通会员 元
- V2银牌会员 元
- V2金牌会员 元
- V2钻石会员 元
- V3普通会员 元
- V3直通会员 元
- V3专护会员 元
- V3专家会员 元
- 全程陪检后续价格:
-
- V2普通会员 元
- V2银牌会员 元
- V2金牌会员 元
- V2钻石会员 元
- V3普通会员 元
- V3直通会员 元
- V3专护会员 元
- V3专家会员 元
在后端定义好接收参数的Model,通过框架可以自动封装参数进去,开始处理:// 用于反射获取各项值 HospitalFormModel 接收参数的Model
Class clazz = hospitalExtendForm.getClass();
// 就医服务价格添加 V2
for (int i = 1; i <= 4; i++) {
healServiceFeeV2 = HealServiceFee.dao.findPrice(healServiceStr, i, hospital.getId());
// 。。。。。。
// 反射获取值
Method method = clazz.getMethod("getV2_" + healServiceStr + "_level" + i);
Object object = method.invoke(hospitalExtendForm);
healServiceFeeV2.setFee1(object == null ? null : String.valueOf(object));
// 扩展项 fee2
if (Objects.equals(healServiceStr, "dyyjc") || Objects.equals(healServiceStr, "gjpz") || Objects.equals(healServiceStr, "qcpj")) {
Method methods = clazz.getMethod("getV2_" + healServiceStr + "_fee2_level" + i);
Object objects = methods.invoke(hospitalExtendForm);
healServiceFeeV2.setFee2(objects == null ? null : String.valueOf(objects));
}
// 。。。。。。
}
// 同理获取 V3各项值
getMethod:第一个参数是: 方法名,第二个参数是可变参数是:参数类型(此处是获取get,因此不需要第二个参数)
invoke:第一个参数是:具体执行该方法的对象,第二个参数是可变参数是:执行该方法的具体参数(此处也不需要第二个参数)
java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用相关推荐
- java class.getmethod_java 反射使用 Class.getMethod 应注意
java 反射使用 Class.getMethod 应注意 记录下 Method method= clazz.getMethod(setMethodName,propertiesClass); 如果使 ...
- java反射 getMethod_java 反射使用 Class.getMethod 应注意
java 反射使用 Class.getMethod 应注意 记录下 Method method= clazz.getMethod(setMethodName,propertiesClass); 如果使 ...
- java反射getmethod_Java反射方法
Java反射方法 package com.wkcto.chapter08.demo01; import java.lang.reflect.Method; import java.lang.refle ...
- java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别
今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类方法时,发生 NoSuchMethodException异常,后来上网发现getMeth ...
- java class.getmethod_java反射之Class.getMethod与getDeclaredMethods()区别
Class对象的getMethods和getDeclaredMethods都是获取类对象的方法.但是又有所不同.废话不多说, 先看demo packagecom.westward;public cla ...
- java 反射getmethod_java 反射 getMethod传httpServletRequest报错
这个报错只有IDEA会有问题,在eclipse并不会出现这个问题. 有哪位前辈可以帮我指点迷津吗? public class ServletDemo02 extends HttpServlet { p ...
- java反射 getMethod_Java反射之Method Class.getMethod(String name, Class?... parameterTypes)
Method Class.getMethod(String name, Class>... parameterTypes)的作用是获得对象所声明的公开方法 该方法的第一个参数name是要获得方法 ...
- 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用
反射的概念 反射:Refelection,反射是Java的特征之一,允许运行中的Java程序获取自身信息,并可以操作类或者对象的内部属性 通过反射,可以在运行时获得程序或者程序中的每一个类型的成员活成 ...
- 浅说Java中的反射机制(一)
在学习传智播客李勇老师的JDBC系列时,会出现反射的概念,由于又是第一次见,不免感到陌生.所以再次在博客园找到一篇文章,先记录如下: 引用自java中的反射机制,作者bingoideas.(()为我手 ...
最新文章
- 内存分配器memblock【转】
- 【VIOLA】宁可食无肉,不可居无竹
- 从Web借鉴UI设计
- 安卓案例:使用MPAndroidChart绘制饼状图、柱状图和折线图
- Linux 匿名页的反向映射
- 如何让NN分类输出[0,1]的值,并且相加等于1
- ROS学习记录:读入bag文件,用Rviz读入播放
- SpringCloud OpenFeign(二)
- matlab2017a安装出现license checkout failed Error-8
- 电脑键盘快捷键使用大全
- matlab找最大值,如何在MATLAB中的矩阵列中找到最大值的索引?
- 从产品角度看滴滴事件,滴滴顺风车业务存在的问题
- 关于计算机体系结构-北桥和南桥
- OpenCV读取图片
- 高等教育心理学:学习的基本理论(重要)
- adb如何在linux下安装目录,Linux下Android ADB驱动安装详解
- 使用JS完成首页定时弹出广告图片
- 路由工作原理+DHCP+静态路由配置
- 快递查询单号查询追踪,一键查询全部物流
- 计算机史前时代名人堂0-总概
热门文章
- 幼儿园分班问题(C语言)
- mysql 乘积函数_mysql函数积累
- cpu对推动计算机发展的作用,一篇能让你详细了解CPU的作用与发展的文章!
- 基于5G/4G无线通信的银行ATM无线通信联网方案
- Ubuntu18.04(NVIDIA)使用网线连接华为路由器XD10无法ping通问题排查和轻解决
- 为什么 Python 比 PHP 更好
- 微软流媒体服务器补丁,创今年之最 微软发布16个补丁修复49处漏洞
- 【微信小程序】动画实现字幕滚动
- 计算机编程螺钉公称,学编程必不可少的螺纹基础篇,分不清牙型的师傅,收藏慢慢看!...
- IntelliJ IDEA 如何配置git