日期:2014-05-16  浏览次数:20456 次

JSTL的fn.endsWith的错误

这一段时间没有写什么东东 用了用jstl但是在研究使用fn.tdl

但是在用到${fn:endsWith("aasdssddsd", "sd")}出现false让我很无语。。结果看源代码才知道

源代码:

?

public static boolean endsWidth(String input,String substring){
  if(input==null) input="";
  if(substring==null) substring="";
  int index=input.indexOf(substring);//这里因该是lastIndexOf
  if(index==-1) retrun false;
  if(index==0&&substring.length()==0) retrun true;
  return (index==input.length()-substring.length());
}

?

?

实例:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

?

其他函数

函数 描述
fn:contains(string, substring) 如果参数string中包含参数substring,返回true
fn:containsIgnoreCase(string, substring) 如果参数string中包含参数substring(忽略大小写),返回true
fn:endsWith(string, suffix) 如果参数 string 以参数suffix结尾,返回true
fn:escapeXml(string) 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回
fn:indexOf(string, substring) 返回参数substring在参数string中第一次出现的位置
fn:join(array, separator) 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。
fn:length(item) 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。
fn:replace(string, before, after) 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果
fn:split(string, separator) 返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素
fn:startsWith(string, prefix) 如果参数string以参数prefix开头,返回true
fn:substring(string, begin, end) 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符
fn:substringAfter(string, substring) 返回参数substring在参数string中后面的那一部分字符串
fn:substringBefore(string, substring) 返回参数substring在参数string中前面的那一部分字符串
fn:toLowerCase(string) 将参数string所有的字符变为小写,并将其返回
fn:toUpperCase(string) 将参数string所有的字符变为大写,并将其返回
fn:trim(string) 去除参数string 首尾的空格,并将其返回