今天页面使用fn:endsWith函数的时候发现不是自己想要的结果,把参数写死发现还是同样的结果。由于自己的参数含有斜杠,因此怀疑是不是转义字符的问题,换成普通字符串,问题依旧。。网上查了查发现底层类写的有问题。上代码:
public static boolean endsWith(String input, String substring) {
if (input == null) input = "";
if (substring == null) substring = "";
int index = input.indexOf(substring);
if (index == -1) return false;
if ((index == 0) && (substring.length() == 0)) return true;
return index == input.length() - substring.length();
}
我的版本是jstl-1.2.jar。第四行的indexOf明显应该是lastIndexOf,坑死了。