JSP包含三種標籤元素
1.聲明標籤(declaration tag):<% 聲明 %>、<%!聲明%>前者在JSP頁成翻譯生成.java文件時被置入jspservie()方法內。後者被置入jspservice()方法外。
2.腳本標籤(scriplet tag):<% 內容%>腳本標籤將被置入jspservie()方法內.
3.表達式標籤(expresstion tag):<%= %>注意等於號要緊靠百分號,此標籤方法結尾不能有分號,因爲內部是作爲參數傳入out.println();方法當中的。此內容會填入response響應內容當中。
註釋標籤(comment tag)
1.html註釋<!--內容 -->
2.java註釋<%// 內容 %>
3.jsp註釋<%-- 內容--%>
JSP九個隱含對象
1.request 對應servlet當中的httpservletrequest
2. response 對應servlet當中的httpservletreponse
3. out 對應servlet當中的printwriter
4.config 對應servlet當中的servletconfig
5. application 對應servlet當中的servletcontext
6.session 對應servlet當中的httpsession
說明:必需在page指令中指定session爲true才能使用這個隱含對象,否則將會因爲沒有定義產生編譯錯誤,這個值默認爲true
<%@ page session="true" %>
7. page 對應到相應Servlet實例的this,因爲是Object類型,所以需要轉換爲Servlet的實例,再當做Servlet來使用,可以調用servlet的所有方法。<%(servlet)page.getServletInfo()%>
8. pagecontext
9. expection
說明:必需在page指令中指定isErrorPage爲true才能使用這個隱含對象,否則將會因爲沒有定義產生編譯錯誤,這個值默認爲false
<%@ page isErrorPage='true' %>
pageContext(page) èjavax.servlet.jsp.PageContext
說明:提供三方面的功能:
①存儲了隱含變量的引用。
②提供在不同的取值範圍(scopes)裏設置(get和set)相應的屬性(attributes)的方法。
Scopes整型數常量
static final int APPLICATION_SCOPE 表示 application scope
static final int SESSION_SCOPE 表示 session scope
static final int REQUEST_SCOPE 表示 request scope
static final int PAGE_SCOPE 表示 page scope
指定scope常量爲參數的方法
void setAttribute(String name, Object object, int scope);
設置指定scope內的屬性。
java.lang.Object getAttribute(String name, int scope);
返回指定scope內指定name的屬性的值,沒找到返回null。
void removeAttribute(String name, int scope);
刪除指定scope中指定name的屬性。
java.util.Enumeration getAttributeNamesIn Scope(int scope)
返回指定scope中所有的屬性。
非常方便的scope相關搜索方法
Object findAttribute(java.lang.String name);
按先後順序在 page→request→session (如果有效)→application中查找指定name的屬性,並返回相應的值。
int getAttributesScope(String name);
取得指定name的屬性所在的scope的值。
③提供傳遞請求(request)到其它應用中其它資源的方法。
void include(String relativeURL)
void forward(String relativeURL)