Functions
Table 6-8 lists the JSTL functions
.
Although the
java.util.Collectioninterface defines asizemethod, it does not conform to the JavaBeans component design pattern for properties and so cannot be accessed via the JSP expression language. Thelengthfunction can be applied to any collection supported by thec:forEachand returns the length of the collection. When applied to aString, it returns the number of characters in the string.For example, the
index.jsppage of thehello1application introduced in Chapter 2 uses thefn:lengthfunction and thec:iftag 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 stringsubstring,substringBefore,substringAfter: Gets a subset of a stringtrim: Trims whitespace from a stringreplace: Replaces characters in a stringindexOf,startsWith,endsWith,contains,containsIgnoreCase: Checks whether a string contains another stringsplit: Splits a string into an arrayjoin: Joins a collection into a stringescapeXml: Escapes XML characters in a string