JSP另外一個重要的語法是Tags(標記)。JSP Tags不是使用<%,而只是使用<字符。JSP Tag有點象HTML Tag 。JSP tags可以有一個“start tag”、一個“tag body”以及一個“end tag”。開始和結束的標志都可以使用標志的名字,都被圈在<和>字符裡面。結束的標志是在字符<後面加一個反斜桿(/)字符。這個標志名字有一個嵌入的冒號(:)字符在裡面,其中冒號前面的部分描述了標志的類型。舉個例子吧:
<some:tag>
body
</some:tag>
如果標志不需要一個主體,那麼開始和結束標志可以合成在一起,比如 :
<some:tag/>
這裡我們利用一個/>替代了>字符,這樣我們就可以快速地結束標志而不需要一個實體。這條語法跟XML的是一樣的。
標志可以分成兩種類型:一種是從外部標志庫中轉載的,另外一種是預先定義的標志。預先定義的標志是以jsp:字符開始的。舉個例子吧,jsp:include是一個預先定義的標志,它用於包括其它的網頁。
在前面的教程我們已經學習了“include directive”。其實它跟jsp:include是很相似的。它們都不是在原始文件中裝載被包含的文件的文本,而是在運行的時候調用被包括的標志。下面是一個jsp:include 使用的例子:
<HTML>
<BODY>
Going to include hello.jsp...<BR>
<jsp:include page="hello.jsp"/>
</BODY>
</HTML>
現在將上面代碼中的“jsp:include”改為“jsp:forward”看看它們有什麼區別。其實這兩個預先定義的標志是很有用的。
再給出本節的練習吧,編寫一個JSP,使之根據一個布爾型(boolean)變量來對一個包含的文件。這裡還是提示一下吧,要用到HTML和scriptlets的混合編程來處理JSP標志。