最近有一个有很多输入框的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() 具体应用相关推荐

  1. java class.getmethod_java 反射使用 Class.getMethod 应注意

    java 反射使用 Class.getMethod 应注意 记录下 Method method= clazz.getMethod(setMethodName,propertiesClass); 如果使 ...

  2. java反射 getMethod_java 反射使用 Class.getMethod 应注意

    java 反射使用 Class.getMethod 应注意 记录下 Method method= clazz.getMethod(setMethodName,propertiesClass); 如果使 ...

  3. java反射getmethod_Java反射方法

    Java反射方法 package com.wkcto.chapter08.demo01; import java.lang.reflect.Method; import java.lang.refle ...

  4. java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别

    今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类方法时,发生 NoSuchMethodException异常,后来上网发现getMeth ...

  5. java class.getmethod_java反射之Class.getMethod与getDeclaredMethods()区别

    Class对象的getMethods和getDeclaredMethods都是获取类对象的方法.但是又有所不同.废话不多说, 先看demo packagecom.westward;public cla ...

  6. java 反射getmethod_java 反射 getMethod传httpServletRequest报错

    这个报错只有IDEA会有问题,在eclipse并不会出现这个问题. 有哪位前辈可以帮我指点迷津吗? public class ServletDemo02 extends HttpServlet { p ...

  7. java反射 getMethod_Java反射之Method Class.getMethod(String name, Class?... parameterTypes)

    Method Class.getMethod(String name, Class>... parameterTypes)的作用是获得对象所声明的公开方法 该方法的第一个参数name是要获得方法 ...

  8. 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用

    反射的概念 反射:Refelection,反射是Java的特征之一,允许运行中的Java程序获取自身信息,并可以操作类或者对象的内部属性 通过反射,可以在运行时获得程序或者程序中的每一个类型的成员活成 ...

  9. 浅说Java中的反射机制(一)

    在学习传智播客李勇老师的JDBC系列时,会出现反射的概念,由于又是第一次见,不免感到陌生.所以再次在博客园找到一篇文章,先记录如下: 引用自java中的反射机制,作者bingoideas.(()为我手 ...

最新文章

  1. 内存分配器memblock【转】
  2. 【VIOLA】宁可食无肉,不可居无竹
  3. 从Web借鉴UI设计
  4. 安卓案例:使用MPAndroidChart绘制饼状图、柱状图和折线图
  5. Linux 匿名页的反向映射
  6. 如何让NN分类输出[0,1]的值,并且相加等于1
  7. ROS学习记录:读入bag文件,用Rviz读入播放
  8. SpringCloud OpenFeign(二)
  9. matlab2017a安装出现license checkout failed Error-8
  10. 电脑键盘快捷键使用大全
  11. matlab找最大值,如何在MATLAB中的矩阵列中找到最大值的索引?
  12. 从产品角度看滴滴事件,滴滴顺风车业务存在的问题
  13. 关于计算机体系结构-北桥和南桥
  14. OpenCV读取图片
  15. 高等教育心理学:学习的基本理论(重要)
  16. adb如何在linux下安装目录,Linux下Android ADB驱动安装详解
  17. 使用JS完成首页定时弹出广告图片
  18. 路由工作原理+DHCP+静态路由配置
  19. 快递查询单号查询追踪,一键查询全部物流
  20. 计算机史前时代名人堂0-总概

热门文章

  1. 幼儿园分班问题(C语言)
  2. mysql 乘积函数_mysql函数积累
  3. cpu对推动计算机发展的作用,一篇能让你详细了解CPU的作用与发展的文章!
  4. 基于5G/4G无线通信的银行ATM无线通信联网方案
  5. Ubuntu18.04(NVIDIA)使用网线连接华为路由器XD10无法ping通问题排查和轻解决
  6. 为什么 Python 比 PHP 更好
  7. 微软流媒体服务器补丁,创今年之最 微软发布16个补丁修复49处漏洞
  8. 【微信小程序】动画实现字幕滚动
  9. 计算机编程螺钉公称,学编程必不可少的螺纹基础篇,分不清牙型的师傅,收藏慢慢看!...
  10. IntelliJ IDEA 如何配置git