得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述将前端传递来的键值对转换成对象相应的值相关的知识,希望能为你提供帮助。
功能说明比如前端网页传递过来的数据是id=123&
name=zhangsan&
age=23
通过工具类,最终能够将键值对赋给User对象
user{id:123,name:zhangsan,age:23}
实体类
@Data
public class User {
/**
* 昵称
*/
private String nickname;
/**
* 登录名
*/
private String account;
/**
* 电话
*/
private String tel;
}
工具类
public class SearchConditionUtil {
/**
* 调用obj的set方法将searchCondition的值设置到obj中
*
* @param obj
* @param searchCondition 查询条件
* @param <
T>
*/
public static <
T>
void initParam(T obj, SearchCondition searchCondition) {
if (searchCondition != null) {
String searchKey = searchCondition.getSearchKey();
String searchValue = https://www.songbingjia.com/android/searchCondition.getSearchValue();
if (searchKey != null &
&
searchKey.length() >
0 &
&
searchValue != null &
&
searchValue.length() >
0) {
try {
Method method = obj.getClass().getMethod("set" + StringUtil.firstLatterUpper(searchKey), String.class);
method.invoke(obj, searchValue);
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
}
}
}
}
【将前端传递来的键值对转换成对象相应的值】SearchCondition是用来封装查询数据(key和value)的实体类,具体代码如下:
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SearchCondition {
/**
* 条件查询的key
*/
private String searchKey;
/**
* 条件查询的value
*/
private String searchValue;
}
测试代码
public static void main(String[] args) throws Exception {
User user = new User();
String searchKey = "tel";
String searchValue = "https://www.songbingjia.com/android/432423";
SearchCondition searchCondition = new SearchCondition(searchKey, searchValue);
initParam(user, searchCondition);
System.out.println(user);
}
推荐阅读
- 获取特定类别的所有帖子
- flea-cache使用之Redis集群模式接入
- ES6 第四章 字符串的新增方法
- HarmonyOS ArkUI之自定义组件侧滑菜单(JS)
- 玩转MapStruct,手把手带你学会!
- 悟透前端 | ECMAScript 6 的 Map 映射
- UI 自动化找元素太难(AIRtest 框架你值得拥有!)
- 学习Java必备的基础知识06,要想学好必须扎实基本功(?建议收藏)#yyds干货盘点#
- PyTorch教程 参数访问#yyds干货盘点#