• 1. EL函数陈旭东
  • 2. 主要内容6.1 JSTL标准函数 6.2自定义函数 本章小结 习题 10/22/20182
  • 3. 4.1 JSTL标准函数6.1.1 获取字符串长度或集合的元素个数 6.1.2 改变字符串的大小写 6.1.3 获取字符串的子串 6.1.4 去除字符串两头的空格 6.1.5 替换字符串中的子串 6.1.6 检查字符串是否包含指定的子串 6.1.7 分割字符串、合并字符串 6.1.8 字符串中XML标记的转义处理 10/22/20183
  • 4. 6.1.1 获取字符串长度或集合的元素个数fn:length可以用于获取字符串长度或集合中元素的个数 语法为fn:length(collection|string) 例:函数 fn:length的使用 Length.jsp10/22/20184
  • 5. 6.1.2 改变字符串的大小写fn:toLowerCase(string) 功能:将参数字符串转化为小写 fn:toLowerCase(string) 功能:将参数字符串转化为大写 例:两个函数的使用 StringCapitalization.jsp10/22/20185
  • 6. 6.1.3 获取字符串的子串fn:substring 语法:fn:substring(string, starting_pos, ending_pos) 功能:返回指定字符串的一个子串,其中,参数string指定字符串,参数starting_pos和ending_pos分别指定字符串的开始位置和结束位置,返回的子串就是指定字符串的开始位置到结束位置(不含结束位置)对应的字符子串 10/22/20186
  • 7. 6.1.3 获取字符串的子串fn:substringAfter 语法:fn:substringAfter(string_to_search, string_to_find) 功能:函数fn:substringAfter使用指定的子串搜索字符串中包含该子串的位置,返回子串之后的字符串部分。函数第一个参数string_to_search指定被搜索的字符串,第二个参数string_to_find指定用于搜索的子串 10/22/20187
  • 8. 6.1.3 获取字符串的子串fn:substringBefore 语法:fn:substringBefore(string_to_search, string_to_find) 功能:函数fn:substringBeforefunction使用指定的子串搜索字符串中包含该子串的位置,返回子串之前的字符串部分。函数第一个参数string_to_search指定被搜索的字符串,第二个参数string_to_find指定用于搜索的子串 StringSubset.jsp 10/22/20188
  • 9. 6.1.4 去除字符串两头的空格函数fn:trim用于去除字符串两端的空格,并返回处理后的结果 语法:fn:trim(string) 例:fn:trim的使用 Trim.jsp10/22/20189
  • 10. 6.1.5 替换字符串中的子串fn:replace将指定字符串中的某个子串替换为指定的替换串,并将替换后的结果字符串返回 语法:fn:replace(original_string, string_to_find, replacement_string) 例:fn:replace的使用 Replace.jsp10/22/201810
  • 11. 6.1.6 检查字符串是否包含指定的子串fn:indexOf返回子串在指定输入串中第一次出现的位置 语法:fn:indexOf(string_to_search, string_to_find) string_to_search:指定输入字符串 string_to_find:指定定位用的子串 例:fn:indexOf的使用 IndexOf.jsp10/22/201811
  • 12. 6.1.6 检查字符串是否包含指定的子串fn:startsWith在指定的字符串是以给定子串开始的情况下返回true,其他情况下返回false 语法:fn:startsWith(string_to_search, string_to_find) string_to_search指定输入字符串 string_to_find指定子串 fn:startsWith的使用 StartWith.jsp10/22/201812
  • 13. 6.1.6 检查字符串是否包含指定的子串fn:endsWith在指定的字符串是以给定子串结束的情况下返回true,其他情况下返回false 语法:fn:endsWith(string_to_search, string_to_find) string_to_search指定输入字符串 string_to_find指定子串 例:fn:endsWith的使用 EndWith.jsp10/22/201813
  • 14. 6.1.6 检查字符串是否包含指定的子串fn:contains在指定的字符串中包含有给定子串的情况下返回true,其他情况下返回false 语法:fn:contains(string_to_search, string_to_find) string_to_search指定输入字符串 string_to_find指定子串 例:fn:contains的使用 Contains.jsp 10/22/201814
  • 15. 6.1.6 检查字符串是否包含指定的子串fn:containsIgnoreCase是在指定的字符串中包含有给定子串的情况下返回true,其他情况下返回false ,但是忽略字符的大小写区别 语法:fn:containsIgnoreCase(string_to_search, string_to_find) 例:fn:containsIgnoreCase的使用 ContainsIC.jsp10/22/201815
  • 16. 6.1.7 分割字符串、合并字符串fn:split依据分割字符的集合,将指定字符串分割成一个子串的数组 语法:fn:split(string, token_string) string:指定输入字符串 token_string:指定分割字符集合组成的字符串 10/22/201816
  • 17. 6.1.7 分割字符串、合并字符串fn:join将字符串数组中的所有字符串元素连接成一个单一的字符串,元素之间是指定的分割字符串 语法:fn:join(strings[], separator) strings指定输入的字符串数组 separator指定分割字符串 例:函数fn:split和fn:join的使用 SplitJoin.jsp 10/22/201817
  • 18. 6.1.8 字符串中XML标记的转义处理函数fn:escapeXml可以将字符串中的XML特殊字符转换为XML的字符实体 语法:fn:escapeXml(string) 输入参数为输入字符串,结果为转换后的字符串 例:函数fn:escapeXml的使用 EscapeXml.jsp10/22/201818
  • 19. 6.2自定义函数6.2.1简单自定义函数 6.2.2复杂自定义函数 6.2.3标记属性中使用自定义函数 6.2.4函数的嵌套 10/22/201819
  • 20. 6.2.1简单自定义函数简单EL自定义函数的定义与使用 使用Java类实现函数功Functions.java 在Web应用的WEB-INF目录下,创建一个taglib.tld文件 使用自定义函数greeting.jsp Web应用 的几个配置步骤 编辑web.xml文件,包含TLD文件的定义 编译Functions.java生成.class文件并且放到相应的目录下 10/22/201820
  • 21. 6.2.1简单自定义函数将taglib.tld复制到Tomcat相应目录下 重新启动Tomcat10/22/201821
  • 22. 6.2.2复杂自定义函数与简单自定义函数使用过程类似,有几点需要注意:GetJSPSrc.java 需要手工设置环境变量CLASSPATH 包含 jsp-api.jar 和servlet-api.jar 编辑taglib.tld文件,增加EL函数getJSPSource的定义 把getJSPSrc.jsp 放置到相应的目录下,就可以访问了 10/22/201822
  • 23. 6.2.3标记属性中使用自定义函数基本步骤与简单自定义函数相同 例:将自定义标记的参数转换为大写字母的Java类 ToUpper.java taglib.tld toUpper.jsp10/22/201823
  • 24. 6.2.4函数的嵌套例:使用toUpper()函数将getJSPSource()函数的结果转换为大写字母输出 SrcToUpper.jsp10/22/201824
  • 25. 本章小结 本章讲述JSTL的函数标记库和自定义函数的实现。通过本章的学习,需要了解JSP的标准函数,掌握JSP的标准函数的使用,掌握EL自定义函数的具体实现与使用 10/22/201825
  • 26. 习题编写统计文本文件字符数的简单的EL自定义函数,经过配置后,在JSP页面中使用该EL自定义函数统计并输出由参数fileName指定的文本文件中字符个数。 在班级论坛中构造用户发表文章的页面,使用函数标记库处理用户发表的论坛文章内容,禁止某些敏感词汇出现在论坛文章中。10/22/201826