IT兄弟連 JavaWeb教程 JSP語法

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/90089802

在JSP頁面中,腳本標識使用的最為頻繁,因為他們能夠方便、靈活地生成頁面中的動態內容,特別是JSP程序代碼塊。JSP中的腳本標識包括3部分,即JSP聲明區、JSP表達式和JSP程序代碼塊。通過這些標識,在JSP頁面中可以像編寫Java程序一樣聲明變量、定義函數或進行各種表達式運算。

JSP聲明區

聲明標識用於在JSP頁面中定義全局的變量或方法。通過聲明標識定義的變量和方法被整個JSP頁面訪問,所以通常使用該標識定義整個JSP頁面需要引用的變量或方法。

服務器執行JSP頁面時,會將JSP頁面轉換為Servlet類,在該類中會把JSP聲明區中定義的變量和方法轉換為成員變量和方法。

聲明標識的語法格式如下:

<%! 聲明變量或方法的代碼 %>

"<%"與"!"之間不可以有空格,但是"!"與其後面的代碼之間可以有空格,另外,"<%!"與"%>"可以不在同一行,例如,下面的格式也是正確的。

<%!

聲明變量或方法的代碼

%>

例:在JSP聲明區聲明一個全局變量和全局方法。

<%! int number = 0;       int count(){           number++;           return number;      }  %>

JSP表達式

JSP表達式用於向頁面中輸出信息,其語法格式如下:

<%= 表達式 %>

表達式可以使任何Java語言的完整表達式,該表達式的最終運算結果將被轉換為字符串。

例:使用JSP表達式在頁面中輸出信息。

<%! String manager = "mr" %> //定義保存管理員名的變量

管理員:<%= manager %> //輸出結果為:管理員:mr

<%= "管理員:" + manager %> //輸出結果為:管理員:mr

<%= 5+6 %> //輸出結果為:11

JSP表達式不僅可以插入到網頁的文本中,用於輸出文本內容,也可以插入到HTML標記中,用於動態設置屬性值。

JSP程序代碼塊

所謂JSP程序代碼塊,就是在JSP頁面中嵌入的Java代碼或是腳本的代碼。JSP程序代碼塊將在頁面請求處理期間被執行,通過Java代碼可以定義變量或是流程控制語句等;而通過腳本代碼可以應用JSP的內置對象在頁面輸出內容、處理請求和響應、訪問session會話等。JSP程序代碼塊的語法格式如下:

<% Java代碼或是腳本代碼 %>

JSP程序代碼塊的使用比較靈活,它所實現的功能是JSP表達式無法實現的。

JSP程序代碼塊與JSP聲明區的區別是:通過JSP聲明區創建的變量和方法時在當前JSP頁面中有效,它的生命周期是從創建開始到服務器關閉結束;JSP程序代碼塊創建的變量或方法,也是在當前JSP頁面中有效,但它的生命周期是頁面關閉後就會被銷毀。

例:通過JSP程序代碼塊和JSP表達式在JSP頁面中輸出九九乘法表。

編寫一個名為index.jsp的文件,在該頁面中先通過JSP程序代碼塊將輸出九九乘法表的文本連接成一個字符串,然後通過JSP表達式輸出該字符串。index.jsp文件的代碼如下:

<body>  <% String str = "";      for(int i = 1;i<=9;i++){           for(int j = 1;j<=i;j++){                str+=j+"*"+i+"="+j*i;                str+="&nbsp;&nbsp;";           }           str+="<br>";      }  %>  <%=str %>  </body>

啟動服務器,在地址欄中輸入localhost:8080/jsp_demo/index.jsp,瀏覽器將顯示如圖3所示的頁面。

圖3 index.jsp