Home | Download | PDF | API | FAQ | Search | Feedback | History

> ## Functions

> Table 6-8 lists the JSTL functions

> Table 6-8 Functions
> Area | Function | Tags | Prefix
> --- | --- | --- | ---
> Functions | Collection length | length | fn
> String manipulation | `toUpperCase, toLowerCase` `substring, substringAfter, substringBefore` `trim` `replace` `indexOf, startsWith, endsWith, contains, containsIgnoreCase` `split, join` `escapeXml`

> .

> Although the `java.util.Collection` interface defines a `size` method, it does not conform to the JavaBeans component design pattern for properties and so cannot be accessed via the JSP expression language. The `length` function can be applied to any collection supported by the `c:forEach` and returns the length of the collection. When applied to a `String`, it returns the number of characters in the string.

> For example, the `index.jsp` page of the `hello1` application introduced in Chapter 2 uses the `fn:length` function and the `c:if` tag to determine whether to include a response page:

>     <%@ taglib uri="http://java.sun.com/jsp/jstl/core"
>       prefix="c" %>
>     <%@ taglib uri="http://java.sun.com/jsp/jstl/functions"
>       prefix="fn" %>
>     <html>
>     <head><title>Hello</title></head>
>     ...
>     <input type="text" name="username" size="25">
>     <p></p>
>     <input type="submit" value="Submit">
>     <input type="reset" value="Reset">
>     </form>

>     <c:if test="${fn:length(param.username) > 0}" >
>       <%@include file="response.jsp" %>
>     </c:if>
>     </body>
>     </html>

> The rest of the JSTL functions are concerned with string manipulation:

> - `toUpperCase`, `toLowerCase`: Changes the capitalization of a string
> - `substring`, `substringBefore`, `substringAfter`: Gets a subset of a string
> - `trim`: Trims whitespace from a string
> - `replace`: Replaces characters in a string
> - `indexOf`, `startsWith`, `endsWith`, `contains`, `containsIgnoreCase`: Checks whether a string contains another string
> - `split`: Splits a string into an array
> - `join`: Joins a collection into a string
> - `escapeXml`: Escapes XML characters in a string