EL函数库、自定义函数库
简介:
使用EL函数库需要导入jstl的jar包:
然后导入标签:
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
String toUpperCase(String input):把参数转换成大写
String toLowerCase(String input):把参数转换成小写
int indexOf(String input, String substring):从大串中找出小串的位置
boolean contains(String input, String substring):大串是否包含小串,包含为true
boolean containsIgnoreCase(String input, String substring):大串是否包含小串,不区分大小写
boolean startsWith(String input, String substring):是否以小串为前缀
boolean endsWith(String input, String substring):是否以小串为后缀
String substring(String input, int beginIndex, int endIndex):截取子串,左闭右开
String substringAfter(String input, String substring):获取大串中小串所在位置后面的字符串
String substringBefore(String input, String substring):获取大串中小串所在位置前面的字符串
String escapeXml(String input):将传入的"<"、">"、"&"、"'"、""" 进行转义
String trim(String input):取出前后空格
String replace(String input, String substringBefore, String substringAfter):替换
String[] split(String input, String delimiters):分割字符串
int length(Object obj):可以获取字符串、数组、各种集合的长度!
String join(String array[], String separator):联合字符串数组
以上就是EL函数库的函数,使用格式:
${函数库前缀:函数名}
例如:导入标签时,prefix="fn"定义前缀为fn
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
${fn:length(arr) } -- 得到arr的长度
${fn:toLowerCase(Hello) } -- 首字母小写,输出效果:"hello"
自定义函数库:
定义一个Java类,可以有任意个方法,但是必须是static静态方法,并且要有返回值。
package fn;
public class MyFn {
public static String fun() {
return "第一个自定义标签";
}
}
在WEB-INF目录下创建tld文件夹,并创建一个a.tld文件进行配置:
在上面的类中,每增加一个函数,就必须在下面的tld文件中将对应的函数进行配置
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>No.1description>
<display-name>cdml-functionsdisplay-name>
<tlib-version>1.0tlib-version>
<short-name>mlshort-name>
<uri>http://www.cdml.cn/el/functionsuri>
<function>
<name>funname>
<function-class>fn.MyFnfunction-class>
<function-signature>java.lang.String fun()function-signature>
function>
taglib>
在新建的JSP页面导入标签:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="/WEB-INF/tld/a.tld" prefix="ml" %>
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>titletitle>
head>
<body>
${ml:fun() }
body>
html>
${ml:fun() }的形式使用这个函数,启动服务器并访问jsp:
结果成功输出了函数返回的字符串。