dialogMode点击编辑按钮后报错


#1

今天突然发生的情况 点击编辑按钮后 报错



如果将AUTO改为数值 就不报错了
但是系统内嵌的【管理】菜单中的相同问题 没法修改


#2

管理菜单里哪个页面?


#3

比如【访问组】


#4

你用cuba哪个版本?
我看代码里auto有特殊处理的。

    public static SizeWithUnit parseStringSize(String sizeString, SizeUnit defaultUnit) {
    if (StringUtils.isEmpty(sizeString) || "auto".equalsIgnoreCase(sizeString)) {
        return new SizeWithUnit(-1, SizeUnit.PIXELS);
    }

    float size;
    SizeUnit unit;
    Matcher matcher = SIZE_PATTERN.matcher(sizeString);
    if (matcher.find()) {
        size = Float.parseFloat(matcher.group(1));
        if (size < 0) {
            size = -1;
            unit = SizeUnit.PIXELS;
        } else {
            String symbol = matcher.group(2);
            if ((symbol != null && symbol.length() > 0)
                    || defaultUnit == null) {
                unit = SizeUnit.getUnitFromSymbol(symbol);
            } else {
                unit = defaultUnit;
            }
        }
    } else {
        throw new IllegalArgumentException("Invalid size argument: \"" + sizeString
                + "\" (should match " + SIZE_PATTERN.pattern() + ")");
    }

    return new SizeWithUnit(size, unit);
}

#5

我用的platform-7.1-SNAPSHOT

public static SizeWithUnit parseStringSize(String s, Unit defaultUnit) {
if (s == null) {
return null;
}
s = s.trim();
if (s.isEmpty()) {
return null;
}
float size = 0;
Unit unit = null;
Matcher matcher = SIZE_PATTERN.matcher(s);
if (matcher.find()) {
size = Float.parseFloat(matcher.group(1));
if (size < 0) {
size = -1;
unit = Unit.PIXELS;
} else {
String symbol = matcher.group(2);
if ((symbol != null && !symbol.isEmpty())
|| defaultUnit == null) {
unit = Unit.getUnitFromSymbol(symbol);
} else {
unit = defaultUnit;
}
}
} else {
throw new IllegalArgumentException("Invalid size argument: “” + s
+ “” (should match " + SIZE_PATTERN.pattern() + “)”);
}
return new SizeWithUnit(size, unit);
}


#6

snapshot是测试阶段用的,我看了6.10 和7.1的代码,都不是你这个版本。。。


#7

好的 我换个版本试试看 谢谢解答