java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]

java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]最近有一个有很多输入框的JSP页面,在页面上inputname都是有规律的命名,在提交到后台时,通过JAVA反射机制可以减少不少代码量,特此记录一下实现!JSP页面大概如下:全程陪诊后续价格:V2普通会员元V2银牌会员元V2金牌会员元V2钻石会员元V3普通会员元V3直通会员元V3专护会员元V3专家会员元全程陪检后续价格:V2普通会员元V2银牌会员元V2金牌会员元V2钻石…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近有一个有很多输入框的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:第一个参数是:具体执行该方法的对象,第二个参数是可变参数是:执行该方法的具体参数(此处也不需要第二个参数)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jboss下载和安装[通俗易懂]

    jboss下载和安装[通俗易懂]1.下载http://www.jboss.org/jbossas/downloads/选择CertifiedJavaEE6FullProfile版本,我下载的是jboss-as-7.1.1.Final.zip。2.解压jboss-as-7.1.1.Final.zip注意整个路径必须没有空格才行。3.配置环境变量JRE环境变量JAVA_HOME…

    2022年9月1日
    3
  • 证书注册_农行提示证书未申请

    证书注册_农行提示证书未申请https证书是互联网传输中很重要的数字证书,为自己的网站申请https证书似乎成为了一件十分有必要的事情,https证书不仅仅可以很好地维护访问网站的用户信息安全,还能为网站树立一个安全可信的形象,维持一个网址的信誉。为https申请证书也变成了一件迫在眉睫的任务,但是如何进行https申请证书?https证书用处的原理是怎么样的?​如何进行https申请证书?这是很多刚接触互联网的网友会带有的疑问。但是我们需要先了解一下何为https证书。https证书是一种有http网络协议和ssl证书.

    2022年10月1日
    6
  • BigDecimal除法后保留两位小数

    BigDecimal除法后保留两位小数BigDecimal nbsp numBigDecima new nbsp BigDecimal 5 33 nbsp nbsp numBigDecima ConvertNumbe numBigDecima 3 2 调用 5 33 3 后保留两位小数 1 1 78 nbsp nbsp java nbsp viewplain nbsp copy BigDecimal nbsp 截取小数位 四舍五入 nbsp nbsp nbsp nbsp nbsp nbsp public nbsp BigDecimal nbsp Co

    2025年6月7日
    5
  • Java实现远程开关机(网络唤醒)

    Java实现远程开关机(网络唤醒)Java实现远程开关机是做的一个在局域网下实现一台机器对多台机器的开关机控制远程唤醒实现是通过电源的一种协议进行控制的,需要知道被唤醒机器的mac地址首先要须知:网络唤醒条件网络唤醒需要终端的主板和网卡支持,需要先在BIOS设置支持网络唤醒网络唤醒要接通电源保证网卡能通电要接网线不能是wifi如果强制关机可能不能通过网络唤醒来开机跨交换机或者跨路由的话就有可能不支持唤醒跨多…

    2022年6月2日
    43
  • Idea激活码最新教程2020.2.3版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.2.3版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 2 3 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 2 3 成功激活

    2025年5月23日
    7
  • 微信小程序真机预览图片图标无法显示怎么办_小程序进去不显示内容

    微信小程序真机预览图片图标无法显示怎么办_小程序进去不显示内容注意点:1.路径问题,路径最好不要超过两个:比如/images 这是一个,../images这是两个2.图片用的是<img/>不是<image/>3.图片名、文件夹名不能为中文,不能有空格4.图片的http地址为小写、图片后缀名为小写…

    2022年8月18日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号