package com.ivan.edu.web.controller.base;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
public abstract class BaseController<T> {
public static String MANAGE_PAGE;//管理界面
public static String INFO_PAGE;//列表界面
public static String EDIT_PAGE;//编辑界面
public static final String MANAGE = "manage";
public static final String INFO = "info";
public static final String EDIT = "edit";
public void BaseController(){
try {
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
//1.获取泛型真实类型
Type[] types = pt.getActualTypeArguments();
//2.把type类型赋值给Class类型
Class<T> clz = (Class<T>) types[0];
//3.定义页面的静态变量
String modelName = clz.getSimpleName().toLowerCase();
EDIT_PAGE = modelName + "/edit";
INFO_PAGE = modelName + "/info";
MANAGE_PAGE = modelName + "/manage";
}catch (Exception e){
e.printStackTrace();
}
}
}