Java反射取值赋值
项目需求:需要对获取的数据每个字段值校验合法性,故想到用 反射 实现
/**
* 字段值校验
*
* @param r 需要校验的实体类
* @param properties 自定义需要校验的属性
* @return
*/
private boolean verifyFields(RelatedRelation r, String[] properties) {
boolean flag = true;
Field[] fields = r.getClass().getDeclaredFields();
try {
// 去空格后,重新赋值
for (Field field : fields) {
field.setAccessible(true);
Object value = field.get(r);
String typeName = field.getType().getName();
if (StringUtils.equals(typeName, String.class.getTypeName()) && ObjectUtils.isNotEmpty(value)) {
String name = field.getName();
String v = ((String) value).trim();
Field f = r.getClass().getDeclaredField(name);
f.setAccessible(true);
f.set(r, v);
}
}
// 判断属性是否为空或null
for (String property : properties) {
Field field = r.getClass().getDeclaredField(property);
field.setAccessible(true);
Object value = field.get(r);
if (ObjectUtils.isEmpty(value)) {
field.set(r, "不能为空");
flag = false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
Java反射取值赋值的更多相关文章
- Jquery 关于span标签的取值赋值用法
span是最简单的容器,可以当作一个形式标签,其取值赋值方法有别于一般的页面元素. //赋值 $("#spanid").html(value) //取值 $("#span ...
- Jquery操作下拉框(DropDownList)实现取值赋值
Jquery操作下拉框(DropDownList)想必大家都有所接触吧,下面与大家分享下对DropDownList进行取值赋值的实现代码 1. 获取选中项: 获取选中项的Value值: $('sele ...
- Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢)
Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢) 1. 获取选中项: 获取选中项的Value值: $('select#sel option:selected').val() ...
- Java Byte取值范围
Java Byte 的取值范围大家都知道(-128 ~ 127),那么-128 和 127 这两个数是怎么计算的呢? #大学知识回顾: 概念:负数的补码是该 数 绝 对 值 的 原 码 按 位 取 反 ...
- winform 批量控件取值赋值
以前写winform 最多写几个文本框,最近需要入录一个人员信息,那好几十个字段,一下子干蒙了,这要是一个个取值赋值都写到明天了,于是就自己写了个方法,也不是什么高大上的,就是很简单很普通很low的方 ...
- js表单快速取值/赋值 快速生成下拉框
1.表单取值/赋值公共方法 //表单序列化:文本框的name字段和数据源一致<form id="myForm" onsubmit="return false;&qu ...
- JQuery关于span标签的取值赋值
span取值赋值方法有别于一般的页面元素.JQ://赋值$("#spanid").html("hello world") //取值$("#spanid ...
- Dynamics 365-表单元素取值/赋值
取值/赋值 参考: 山人丶 提示: 查找类型赋值时需指定目标实体,记录名称及id值 时间和日期类型赋值时需赋值Date类型 //获取new_name的值(单行文本) Xrm.Page.getAttri ...
- Jquery操作复选框(CheckBox)的取值赋值实现代码
赋值 复选框 CheckBox 遍历 取值 1. 获取单个checkbox选中项(三种写法): $("input:checkbox:checked").val() 或者 $(&q ...
- 2016 系统设计第一期 (档案一)jQuery checkbox 取值赋值
<div class="form-group"> <label for="IsActive" class="col-sm-2 con ...
随机推荐
- Django 文件导入实现方案
Django文件导入实现方案 by:授客 QQ:1033553122 开发环境 Win 10 Python 3.5.4 Django-2.0.13.tar.gz 官方下载地址: https ...
- 题解:P10608 双人游戏
题解:P10608 双人游戏 题意 给予你一个长度为 \(n\) 的字符串 \(c\),\(c\) 上有三种颜色的棋子,其中有 \(m\) 个空字符. 接下来有 \(m\) 个操作,每个操作意味小 M ...
- 张高兴的 MicroPython 入门指南:(三)使用串口通信
目录 什么是串口 使用方法 使用板载串口相互通信 硬件需求 电路 代码 使用板载的 USB 串口 参考 什么是串口 串口是串行接口的简称,这是一个非常大的概念,在嵌入式中串口通常指 UART(Univ ...
- 「模拟赛」暑期集训CSP提高模拟4(7.21)
很祭的一次比赛,啥也不会. 题目列表: A.White and Black B.White and White C.Black and Black D.Black and White A.White ...
- EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施
前言 今天,我们将深入探讨上传文件漏洞攻击,这部分内容是EdgeOne专项实践篇的一部分.在本章中,我们不会涉及文件漏洞的含义.原理或站点配置等基础教程,如果你对这些内容感兴趣,可以参考这篇文章:探索 ...
- 13、Spring之JdbcTemplate
13.1.环境搭建 13.1.1.创建module 13.1.2.选择maven 13.1.3.设置module名称和路径 13.1.4.module初始状态 13.1.5.配置打包方式和依赖 < ...
- 【Uni-App】关于获取手机系统信息的项目实践
原因是这里APP下载方式的问题 安卓 和 IOS都可以写A标签跳转访问附件资源 但是甲方对这种下载方式并8满意[安卓行 苹果8行, 苹果行,安卓又8行] 通过 uni.getSystemInfo来判断 ...
- 【Java-GUI】11 Swing06 JTable
静态数据表格的样子: package cn.dzz; import javax.swing.*; import java.awt.*; public class JTable { JFrame jFr ...
- 超简单stable_diffusion + novelai一键部署教程
视频教程地址: 超简单stable_diffusion + novelai一键部署教程 个人的启动命令: sudo docker run -it --rm -e NVIDIA_DISABLE_REQU ...
- Linux-centos中修改默认root帐户的登录用户名
vi /etc/passwd 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x保存并退出 vi /etc/shadow 按i键进入编辑状态 修改第1行第1个 ...