这个方法比较笨拙,因为当时自己也是找了好多资料,并无发现,自己去看底层,然后自己用了一个比较笨的方法实现的,不是很灵活,根据页面标签t:dgFunOpt 的 title来控制的图片显示,待优化。如果大家有更好的方法请不吝赐教。
首先看一下页面效果
接下来看一下页面jsp
接下来看一下jeecg底层封装
其中 读到getOptUrl这个方法时,发现了可以入手
protected void getOptUrl(StringBuffer sb) {
//注:操作列表会带入合计列中去,故加此判断
sb.append("if(!rec.id){return '';}");
List<DateGridUrl> list = urlList;
sb.append("var href='';");
for (DateGridUrl dateGridUrl : list) {
String url = dateGridUrl.getUrl();
MessageFormat formatter = new MessageFormat("");
if (dateGridUrl.getValue() != null) {
String[] testvalue = dateGridUrl.getValue().split(",");
List value = new ArrayList<Object>();
for (String string : testvalue) {
value.add("\"+rec." + string + " +\"");
}
url = formatter.format(url, value.toArray());
}
if (url != null && dateGridUrl.getValue() == null) {
url = formatUrl(url);
}
String exp = dateGridUrl.getExp();// 判断显示表达式
if (StringUtil.isNotEmpty(exp)) {
String[] ShowbyFields = exp.split("&&");
for (String ShowbyField : ShowbyFields) {
int beginIndex = ShowbyField.indexOf("#");
int endIndex = ShowbyField.lastIndexOf("#");
String exptype = ShowbyField.substring(beginIndex + 1, endIndex);// 表达式类型
String field = ShowbyField.substring(0, beginIndex);// 判断显示依据字段
String[] values = ShowbyField.substring(endIndex + 1, ShowbyField.length()).split(",");// 传入字段值
String value = "";
for (int i = 0; i < values.len