Another important syntax element of JSP are tags. JSP tags do not
use <%, but just the < character.
A JSP tag is somewhat like an HTML tag. JSP tags can have a "start
tag", a "tag body" and an "end tag". The start and end tag both use
the tag name, enclosed in < and > characters.
The end starts with a / character after the < character.
The tag names have an embedded colon character : in them, the
part before the colon describes the type of the tag. For instance:
<some:tag> body </some:tag>If the tag does not require a body, the start and end can be conveniently merged together, as
<some:tag/>Here by closing the start tag with a /> instead of > character, we are ending the tag immediately, and without a body. (This syntax convention is the the same as XML.)
Tags can be of two types: loaded from an external tag library, or predefined tags. Predefined tags start with jsp: characters. For instance, jsp:include is a predefined tag that is used to include other pages.
We have already seen the include directive. jsp:include is similar. But instead of loading the text of the included file in the original file, it actually calls the included target at run-time (the way a browser would call the included target. In practice, this is actually a simulated request rather than a full round-trip between the browser and the server). Following is an example of jsp:include usage
<HTML> <BODY> Going to include hello.jsp...<BR> <jsp:include page="hello.jsp"/> </BODY> </HTML>Try it and see what you get. Now change the "jsp:include" to "jsp:forward" and see what is the difference. These two predefined tags are frequently very useful.
Exercise: Write a JSP to do either a forward or
an include, depending upon a boolean variable (hint: The
concepts of mixing HTML and scriptlets work with JSP tags also!)