JSTL Functions
Table 7-8 lists the JSTL functions.
Table 7-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 by using 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 3, Getting Started with Web Applications 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 white space 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