JSP資料庫基礎知識 文法詳解

來源:互聯網
上載者:User
js|資料|資料庫|詳解|文法

HTML 注釋
在用戶端顯示一個注釋.

JSP 文法
<!-- comment [ <%= expression %> ] -->
例子 1
<!-- This file displays the user login screen -->
在用戶端的HTML原始碼中產生和上面一樣的資料:

<!-- This file displays the user login screen -->
例子 2
<!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->
在用戶端的HTML原始碼中顯示為:

<!-- This page was loaded on January 1, 2000 -->
描述
這種注釋和HTML中很像,也就是它可以在"查看原始碼"中看到.

唯一有些不同的就是,你可以在這個注釋中用運算式(例子2所示).這個表達示是不定的,由頁面不同而不同,你能夠使用各種運算式,只要是合法的就行。更多的請看錶達式

隱藏注釋
寫在JSP程式中,但不是發給客戶。

JSP 文法
<%-- comment --%>
例子:
<%@ page language="java" %>
<html>
<head><title>A Comment Test</title></head>
<body>
<h2>A Test of Comments</h2>
<%-- This comment will not be visible in the page source --%>
</body>
</html>

描述
用隱藏注釋標記的字元會在JSP編譯時間被忽略掉。這個注釋在你希望隱藏或注釋你的JSP程式時是很有用的。JSP編譯器不是會對<%--and--%>之間的語句進行編譯的,它不會顯示在客戶的瀏覽器中,也不會在原始碼中看到

聲明
在JSP程式中聲明合法的變數和方法

JSP 文法
<%! declaration; [ declaration; ]+ ... %>
例子
<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>
描述
聲明你將要在JSP程式中用到的變數和方法。你也必須這樣做,不然會出錯.

你可以一次性聲明多個變數和方法,只要以";"結尾就行,當然這些聲明在Java中要是合法的。

當你聲明方法或變數時,請注意以下的一些規則:

聲明必須以";"結尾(Scriptlet有同樣的規則,但是 運算式就不同了).
你可以直接使用在<% @ page %>中被包含進來的已經聲明的變數和方法,不需要對它們重新進行聲明.
一個聲明僅在一個頁面中有效。如果你想每個頁面都用到一些聲明,最好把它們寫成一個單獨的檔案,然後用<%@ include %>或<jsp:include >元素包含進來。

運算式

包含一個符合JSP文法的運算式

JSP 文法
<%= expression %>
例子
<font color="blue"><%= map.size() %></font>
<b><%= numguess.getHint() %></b>.
描述
運算式元素表示的是一個在指令碼語言中被定義的運算式,在運行後被自動轉化為字串,然後插入到這個表達示在JSP檔案的位置顯示。因為這個運算式的值已經被轉化為字串,所以你能在一行文本中插入這個運算式(形式和ASP完全一樣).

當你在JSP中使用運算式時請記住以下幾點:

你不能用一個分號(";")來作為運算式的結束符.但是同樣的運算式用在scriptlet中就需要以分號來結尾了!查看Scriptlet
這個運算式元素能夠包括任何在Java Language Specification中有效運算式.
有時候運算式也能做為其它JSP元素的屬性值.一個運算式能夠變得很複雜,它可能由一個或多個運算式組成,這些運算式的順序是從左至右。

Scriptlet

包含一個有效程式段.

JSP 文法
<% code fragment %>
例子
<%
String name = null;
if (request.getParameter("name") == null) {
%>
<%@ include file="error.html" %>
<%
} else {
foo.setName(request.getParameter("name"));
if (foo.getName().equalsIgnoreCase("integra"))
name = "acura";
if (name.equalsIgnoreCase( "acura" )) {
%>
描述
一個scriptlet能夠包含多個jsp語句,方法,變數,運算式

因為scriptlet,我們便能做以下的事:

聲明將要用到的變數或方法(參考 聲明).
編寫JSP運算式(參考 運算式).
使用任何隱含的對象和任何用<jsp:useBean>聲明過的對象
編寫JSP語句 (如果你在使用Java語言,這些語句必須遵從Java Language Specification,).
任何文本,HTML標記,JSP元素必須在scriptlet之外
當JSP收到客戶的請求時,scriptlet就會被執行,如果scriptlet有顯示的內容,這些顯示的內容就被存在out對象中。

[1] [2] [3] [4] 下一頁  



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.