飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • AngularJS教程
  • UEditor使用文档
  • ThinkPHP5.0教程

java反射的应用省市区赋值问题

时间:2021-11-10  作者:匿名  

前天搞了下省市区

发现不是存省市区就是存省市区的code值

而前端一般只有存code或者中文

很少两个值并存,

本来vue接触的少

(自己的前端水平也是喳喳的存在)

萌生了写个后台工具类想法

实现目标

code能够转成对应的中文省市区

中文省市区能够转化code

因为尽量要写的通用化一点

所以所有有关于省市区的类都要能够调用

想到这里,我突然发现好像反射里面有这个东西

就简单的写了个工具类

首先

先准备两个map

域名 是code value是 省市区

350000:福建省,351000某某市,351001某某区键值对

java反射的应用省市区赋值问题

域名 是(省份默认是0)父级id+省市区 value是code

//0福建省350000,350000某某市351000,351000某某区351001键值对

java反射的应用省市区赋值问题

然后主要代码,主要是分两种

/**

* 设置省市区code 或者设置

* @param obj 需要设置省市区的实体

* @param map 需要翻译的map值

* @param type 需要执行的类型

* @return

*/

public static void setAddress(Object obj, Map<String,String> map, String type){

Class c = 域名lass();

/*

* 2.获取方法 名称和参数列表来决定 getMethod获取的是public的方法 getDelcaredMethod自己声明的方法

*/

try {

//code 转 省份

if(域名ls(type)){

Method mProvince = 域名ethod(“getProvince” );

Object oProvince = 域名ke(obj);

Method mProvinceName = 域名ethod(“setProvinceName”, 域名s);

if(oProvince!=null){

域名ke(obj,域名(域名ring()));

}

Method mCity = 域名ethod(“getProvince” );

Object oCity = 域名ke(obj);

Method mCityName = 域名ethod(“setProvinceName”, 域名s);

if(oCity!=null){

域名ke(obj,域名(域名ring()));

}

Method mArea = 域名ethod(“getProvince” );

Object oArea= 域名ke(obj);

Method mAreaName = 域名ethod(“setProvinceName”, 域名s);

if(oArea!=null){

域名ke(obj,域名(域名ring()));

}

}

// 省份转 code

if(域名ls(type)){

Method mProvince = 域名ethod(“getProvinceName” );

Object oProvince = 域名ke(obj);

Method mProvinceCode = 域名ethod(“setProvince”, 域名s);

String provinceCode=域名(域名ZERO +域名ring());

if(oProvince!=null){

域名ke(obj,provinceCode);

}

Method mCity = 域名ethod(“getCityName” );

Object oCity = 域名ke(obj);

Method mCityName = 域名ethod(“setCity”, 域名s);

String cityCode=域名(provinceCode+域名ring());

if(oCity!=null){

域名ke(obj,cityCode);

}

Method mArea = 域名ethod(“getAreaName” );

Object oArea= 域名ke(obj);

Method mAreaName = 域名ethod(“setArea”, 域名s);

String areaCode=域名(cityCode+域名ring());

if(oArea!=null){

域名ke(obj,areaCode);

}

}

} catch (Exception e) {

域名tStackTrace();

}

}

调用方法

域名ddress(sysUserDetatil,域名ESS_NAME_MAP,域名TWO);

大概就是这么回事

湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。