El expression in jsp

Source: Internet
Author: User
Tags tld

El expression in jsp

The full name of EL is Expression Language. EL:

Get data:

EL expressions are mainly used to replace the script expressions on JSP pages to retrieve java objects and obtain data from various types of web domains. (An object in a web domain accesses attributes of javabean, access list sets, Access map sets, and access arrays)

Run the operation:

The EL expression can be used to perform some basic relational operations, logical operations, and arithmetic operations on the JSP page to complete some simple logical operations on the JSP page. $ {User = null}

Obtain common web development objects

EL expressions define some implicit objects. With these implicit objects, web developers can easily obtain references to common web objects to obtain data in these objects.

Call the Java method

EL expressions allow users to develop custom EL functions to call Java class methods through EL expressions on JSP pages.

Use the EL expression to obtain the data Syntax: "$ {identifier }"

When an EL expression statement is executed, pageContext is called. the findAttribute method uses the identifier as the keyword to search for the corresponding object from the four domains of page, request, session, and application. If it is found, the corresponding object is returned. If it is not found, the corresponding object is returned. "(note, is not null, but a null String ).

Example: $ {user}

EL expressions can also easily obtain attributes of JavaBean or data of arrays, collections, and Map types. For example:

$ {User. address. city}

$ {User. list [0]}: access an element at a certain position in an ordered set

$ {Map. key}: obtains the value of the specified key in the map set.

Combined with the foreach label of JSTL, using EL expressions can also easily iterate various types of arrays or sets. Example:

Iterative Array

Collection of iterative collection types

Iterative map type set

Syntax: $ {operational expression}. EL expressions support the following operators:


Empty OPERATOR: checks whether the variable is null or "null". It is very useful !!!

Binary Expression: $ {user! = Null? User. name: ""}, very easy to use !!!

[] And. Operator

Obtain common web development objects

11 implicit objects are defined in EL Expression Language. Using these implicit objects, you can easily obtain some common objects in web development and read the data of these objects.

Syntax: $ {implicit object name}: Get Object Reference

Note:

When testing headerValues, if the header contains "-", for example, Accept-Encoding, headerValues ["Accept-Encoding"]

For example, $ {cookie. key} is the cookie object. For example, $ {cookie. key. name} or $ {cookie. key. value}

The EL expression syntax allows developers to develop custom functions to call Java class methods.

Example: $ {prefix: method (params )}

Only static methods of Java classes can be called in EL expressions.

The static method of this Java class must be described in the TLD file before it can be called by EL expressions.

EL user-defined functions are used to extend the EL expression function, so that EL expressions can complete the functions that can be done by common Java code.

EL Function development steps:

Generally, the development and application of EL udfs include the following three steps:

Compile a static Java method

Write a tag library Descriptor (tld) file to describe user-defined functions in the tld file.

Import and use user-defined functions on the JSP page

After compiling the tag library description file, you need to place it \ Any subdirectory in the WEB-INF directory or in the WEB-INF directory except the classes and lib directories.

In the TLD File The element specifies the URI of the TLD file. In the JSP file, you need to use this URI to introduce the tag library description file.

Element is used to describe an EL User-Defined Function, where:

The sub-element is used to specify the name of the EL custom function.

The child element is used to specify the complete Java class name,

The child element is used to specify the signature of the static method in the Java class. The method signature must specify the type of the return value of the method and the type of each parameter. Each parameter is separated by a comma.

EL expressions are a technology in JSP 2.0 specifications. Therefore, to correctly parse EL expressions, you must use a WEB server that supports Servlet2.4/JSP2.0 technology.

NOTE: If some Tomcat servers do not support EL expressions

(1) upgrade to tomcat6

(2) Add <% @ page isELIgnored = "false" %> to JSP.

Elexpression reserved keywords:

The so-called reserved word means that when a variable is named, the above name should be avoided to avoid errors during program compilation.

Common EL functions in JSTL:

Since the data displayed on the JSP page often needs to be processed, SUN defines an EL function library for developers to use for some common processing.

These EL functions are described in the JSTL Development Kit. Therefore, to use the sun el function library on the JSP page, you must import the JSTL Development Kit and import the EL function library to the page, as shown below:

Use the EL function defined by JSTL on the page:

<% @ Taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>

Fn: The toLowerCase function converts all characters contained in a string to lowercase and returns the converted string. It receives a string type parameter, for example

Fn: toLowerCase ("Www.IT315.org") returns the string "www.it315.org"

Fn: toLowerCase ("") returns an empty string

Fn: The toUpperCase function converts all the characters contained in a string to uppercase, and returns the converted string, which receives a string type parameter. For example:

Fn: the return value of toUpperCase ("Www.IT315.org") is the string "WWW. IT315.ORG"

Fn: toUpperCase ("") returns an empty string

Fn: the trim function deletes spaces at the beginning and end of a string and returns the result string after the space is deleted. It receives a string-type parameter. Note that the fn: trim function cannot delete spaces in the middle of a string.

For example, fn: trim ("www.it315.org") returns the string "www. it 315.org ".

The fn: length function returns the size of a set or array, or the number of characters contained in a string. the return value is of the int type. The fn: length function receives a parameter, which can be The items attribute of a tag supports any type, including arrays of any type and java. util. collection, java. util. iterator, java. util. enumeration, java. util. instance objects and strings of Map and other classes.

If the fn: length parameter is null or a set or array object with 0 elements, the function returns 0. If the parameter is a null string, the function returns 0.

Fn: The split function uses a specified string as the separator to split a string into a string array and return this string array.

Fn: The split function receives two string-type parameters. The first parameter indicates the string to be split, and the second parameter indicates the string used as the separator.

For example, fn: split ("www.it315.org", ".") [1] returns the string "it315 ".

Fn: The join function uses a string as the separator to combine all elements in a string array into a string and return the merged result string. Fn: The join function receives two parameters. The first parameter is the string array to be operated, and the second parameter is the string used as the separator.

If the second parameter of the fn: join function is a null string, the return value of the fn: join function is directly connected to the element. For example:

Assume that stringArray is an attribute stored in the Web domain, which represents an array of strings with the value {"www", "it315", "org"}, then fn: join (stringArray, ". ") returns the string" www.it315.org"

Fn: join (fn: split ("www, it315, org", ","), ".") returns the string "www.it315.org"

The fn: indexOf function returns the index value of the specified string that appears for the first time in a string. the return value is of the int type. The fn: indexOf function receives two string-type parameters. If the first parameter string contains the second parameter string, no matter how many times the second parameter string appears in the first parameter string, the fn: indexOf function always returns the index value that appears for the first time. If the first parameter does not contain the second parameter, the fn: indexOf function returns-1. If the second parameter is a null string, the fn: indexOf function always returns 0. For example:

Fn: indexOf ("www.it315.org", "t3") returns 5

Fn: The contains function checks whether a string contains a specified string and returns a Boolean value. Fn: The contains function is case sensitive when comparing two strings for equality.

The fn: contains function receives two string-type parameters. If the first parameter string contains the second parameter string, the fn: contains function returns true; otherwise, the function returns false. If the value of the second parameter is a null string, the fn: contains function always returns true. In fact, fn: contains (string, substring) is equivalent to fn: indexOf (string, substring )! =-1.

Ignore the EL function of the Size: fn: containsIgnoreCase

Fn: The startsWith function is used to check whether a string starts with a specified string and returns a Boolean value.

Fn: The startsWith function receives two string-type parameters. If the first parameter string starts with the second parameter string, the function returns true; otherwise, the function returns false. If the second parameter is a null string, the fn: startsWith function always returns true. For example:

Fn: startsWith ("www.it315.org", "it315") returns false

Corresponding EL function: fn: endsWith

Fn: replace function replaces the specified sub-string contained in a string with another specified string and returns the replaced result string. Fn: The replace method receives three string-type parameters. The first parameter indicates the source string to be operated, and the second parameter indicates the substring to be replaced in the source string, the third parameter indicates the string to be replaced. For example:

Fn: replace ("www it315 org", "", ".") returns the string "www.it315.org"

Fn: The substring function is used to intercept a substring and return the substring. Fn: The substring function receives three parameters. The first parameter is used to specify the source string to be operated, and the second parameter is used to specify the index value starting from the substring, the third parameter is used to specify the index value after the substring is intercepted. Both the second parameter and the third parameter are of the int type, and the value starts from 0. For example:

Fn: Return Value of substring ("www.it315.org", 4, 9) is the string "it315"

Fn: The substringAfter function is used to intercept and return the substring after the first occurrence of the specified substring in a string. Fn: The substringAfter function receives two string-type parameters. The first parameter indicates the source string to be operated, and the second parameter indicates the specified substring. For example:

Fn: substringAfter ("www.it315.org", ".") returns the string "it315.org ".

The corresponding EL function is: fn: substringBefore.


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.