JSP的编译器指引与指令元件
编译器指引 <%@ 编译器指引 %>
宣告 <%! 宣告 %>
运算式 <%= 运算式 %>
程式码片段/小型指令 <% 程式码片段 %>
注解 <%-- 注解 --%>
编译器指引
JSP的编译器指引是针对JSP引擎。它们并不会直接产生任何看得见的输出;相反的,它们是在告诉引擎如何处理其他的JSP网页。它们永远包含在 <%@ ?%>标签里。两个主要的指引是 page与include。我们不会讨论taglib编译器指引但它可以在JSP1.1里用来建立自订标签。
你几乎可以在你所有的JSP网页最上面找到page编译器指引。虽然这不是必须的,但它可以让你指定到哪里可以找到支援的Java类别这类的事:
<%@ page import="java.util.Date" %>,
当发生Java问题的事件时应该将讯息传送到哪里:
<%@ page errorPage="errorPage.jsp" %>,
以及你是? 要为使用者管理通话期的资讯,可能存取多个网页(稍後在JavaBeans里会有更多通话期的讨论):
<%@ page session="true" %>。
include编译器指引让你将你的内容分成几个可管理的元件,就像那些有表头或注脚的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页:
<%@ include file="filename.jsp" %>。
宣告
JSP宣告让你定义网页层的变数,来储存资讯或定义支援的函式,让JSP网页的其馀部分能够使用。如果你发现自己有太多的程式码,你最好将它们放在不同的Java类别里。你可以在 <%! ?%>标签里找到宣告。记住要在变数宣告的後面加上分号,就跟任何有效的Java叙述的形式一样: <%! int i=0; %>。
运算式
JSP里有运算式,评估运算式的结果可以转换成字串并且直接使用在输出网页上。JSP运算是属於 <%= ?%> 标签里,并不包含分号,加引号字串的无用部分。
<%= i %>
<%= "Hello" %> 。
程式码片段/小型指令档
JSP程式码片段或小型指令档是包含在<% ?%> 标签里。当网络服务器接受这段请求时,这段Java程式码会执行。小型指令档可以是原始的HTML或XML,其内部的程式码片段可以让你建立有条件的执行程式码,或者只是一些使用另一块程式码的东西。举例来说,下列的程式码结合了运算式与小型指令档,在H1,H2,H3,以及H4标签里显示字串"Hello"。小型指令档不限於一行的原始程式码 :
<% for (int i=1; i<=4; i++) { %>
<H<%=i%>>Hello</H<%=i%>>
<% } %>。
注解
最後一个主要JSP元件是嵌入式注解。虽然你可以在你的档案里包含HTML注解,如果使用者检视网页的原始码,他们也会看到这些注解。如果你不要让使用者看到你的注解,你可以将它放在<%-- ?--%>标签里:
<%-- 针对伺服端的注解 --%>。
……