使用 layUI ,在 js 里面传给了后台一个 json 字符串,因为传输的参数是一个对象,到 java后台就成了 String 字符串,所以就需要把 str 转成 model,方便后续进行查询,插入等操作。
这里就用到了 java 中的泛型,主要是泛型方法,主要的代码如下所示:
public enum LayUIStr2Model {
INSTANCE;
private static Logger logger = Logger.getLogger(LayUIStr2Model.class);
@SuppressWarnings("unchecked")
public <T> T switchStrToObject(String str,Class<T> myclass){
T res = null;
try{
JSONObject jsonObject2=JSONObject.fromObject(str);
res = (T)JSONObject.toBean(jsonObject2,myclass);
}catch(Exception e){
logger.error("str转换成对象出错!错误信息为"+e);
}
return res;
}
}
public String getLayUIData(String params) {
String [] param = params.split("#");
VehicleRfidInfo aim =LayUIStr2Model.INSTANCE.switchStrToObject(param[0],VehicleRfidInfo.class);
String limit = param[param.length-2];
String page = param[param.length-1];
return vehicleRfidInfoDS.getLayUIData(aim, Integer.parseInt(limit), Integer.parseInt(page));
}