1 EL 自定义函数
1.1 EL 自定义函数:在 EL 表达式中调用的某个 Java 类的静态方法,这个静态方法需在 web 应用程序中进行配置才可以被 EL 表达式调用。EL 自定义函数可以扩展 EL 表达式的功能,让 EL 表达式完成普通 Java 程序代码所能完成的功能。
1.2 EL 自定义函数开发步骤:一: 编写 EL 自定义函数映射的Java 类中的静态方法: 这个 Java 类必须带有 public 修饰符,方法必须是这个类的带有 public 修饰符的静态方法, 二:编写标签库描述文件(tld 文件), 在 tld 文件中描述自定义函数, 三:在 JSP 页面中导入和使用自定义函数
1.3 在tld文件中描述EL自定义函数:定义Java的方法用public static修饰,
1.3.1 <!-- 配置自定义函数的名称 该名称将在jsp页面被引用 -->
1.3.2 <name>toGBK</name>
1.3.3 <!-- 指定函数所在的java类 -->
1.3.4 <function-class>cn.itcast.el.ELFunctionDefined</function-class>
1.3.5 <!-- 指定java中静态函数的方法签名 格式(返回值 方法名(参数类型) 有多个参数时,用,隔开)-->
1.3.6 <function-signature>java.lang.StringtoGBK(java.lang.String)</function-signature>
1.4 自定义函数在页面的使用方法:一: 引入函数库,
1.5 练习:编写 3 个 EL 自定义函数:一、计算输入字符串的长度 ,二,完成对字符串的截取,三,完成两个数相除的功能
2 jstl fn 函数
2.1 为了简化在 JSP 页面操作字符串,JSTL 中提供了一套 EL 自定义函数,这些自定义函数包含了 JSP 页面制经常要用到的字符串操作
2.2 在JSTL的表达是中要使用一个函数,其格式如下
2.3 ${ns:methodName(args....)}
2.4 在使用这些函数之前必须在JSP中引入标准函数的声明
2.5 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
3. 总结jstl:
1.1 表达式操作分类中包含四个标签:<c:out>、<c:set>、<c:remove>和<c:catch>
1.2 <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"] />主要用来显示数据的内容,假若value为null,会显示default 的值;假若没有设定 default的值,则会显示一个空的字符串,escapeXml 是否转换特殊字符,如:<转换成<
1.3 <c:set value="value" var="varName" [scope="{ page|request|session|application }"]/>主要用来将变量储存至JSP范围中或是 JavaBean 的属性中。
1.4 <c:remove>主要用来移除变量。
1.5 若使用<c:when>和<c:otherwise>来做流程控制时,两者都必须为<c:choose>的子标签。在同一个 <c:choose> 中,当所有 <c:when> 的条件都没有成立时,则执行 <c:otherwise> 的本体内容。
1.6 <c:forEach> 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。
1.7 <c:forTokens> 用来浏览一字符串中所有的成员,其成员是由定义符号(delimiters)所分隔的。
1.8 <c:url>一:主要用来产生一个URL,用来链接到web站点的其他web应用,<c:url value="value"[context="context"][var="varName"][scope="{page|request|session|application}"] />。 二:用来链接到其他站点的web应用。 三:链接到当前的web应用的其他的页面 。 四:直接使用。五:对中文编码,产生路径时,自动进行编码。