官术网_书友最值得收藏!

5.3 腳本標(biāo)識(shí)

在JSP頁面中,腳本標(biāo)識(shí)使用得最為頻繁。因?yàn)樗鼈兡軌蚍奖恪㈧`活地生成頁面中的動(dòng)態(tài)內(nèi)容,特別是Scriptlet腳本程序。JSP中的腳本標(biāo)識(shí)包括3部分,即JSP表達(dá)式(Expression)、聲明標(biāo)識(shí)(Declaration)和腳本程序(Scriptlet)。通過這些標(biāo)識(shí),在JSP頁面中可以像編寫Java程序一樣來聲明變量、定義函數(shù)或進(jìn)行各種表達(dá)式的運(yùn)算。下面將對(duì)這些標(biāo)識(shí)進(jìn)行詳細(xì)介紹。

5.3.1 JSP表達(dá)式

視頻講解:光盤\TM\lx\5\05 JSP表達(dá)式.mp4

JSP表達(dá)式用于向頁面中輸出信息,其語法格式如下:

        <% = 表達(dá)式%>

參數(shù)說明:

表達(dá)式:可以是任何Java語言的完整表達(dá)式。該表達(dá)式的最終運(yùn)算結(jié)果將被轉(zhuǎn)換為字符串。

注意

“<%”與“=”之間不可以有空格,但是“=”與其后面的表達(dá)式之間可以有空格。

【例5.13】使用JSP表達(dá)式在頁面中輸出信息。示例代碼如下:

        <%String manager="mr"; %>           //定義保存管理員名的變量
        管理員:<%=manager %>               //輸出結(jié)果為:管理員:mr
        <%="管理員:"+manager %>            //輸出結(jié)果為:管理員:mr
        <%=5+6 %>                           //輸出結(jié)果為:11
        <%String url="126875.jpg"; %>       //定義保存文件名稱的變量
        <img src="images/<%=url %>">        //輸出結(jié)果為:<img src="images/126875.jpg">

說明

JSP表達(dá)式不僅可以插入到網(wǎng)頁的文本中,用于輸出文本內(nèi)容,也可以插入到HTML標(biāo)記中,用于動(dòng)態(tài)設(shè)置屬性值。

5.3.2 聲明標(biāo)識(shí)

視頻講解:光盤\TM\lx\5\06聲明標(biāo)識(shí).mp4

聲明標(biāo)識(shí)用于在JSP頁面中定義全局的變量或方法。通過聲明標(biāo)識(shí)定義的變量和方法可以被整個(gè)JSP頁面訪問,所以通常使用該標(biāo)識(shí)定義整個(gè)JSP頁面需要引用的變量或方法。

說明

服務(wù)器執(zhí)行JSP頁面時(shí),會(huì)將JSP頁面轉(zhuǎn)換為Servlet類,在該類中會(huì)把使用JSP聲明標(biāo)識(shí)定義的變量和方法轉(zhuǎn)換為類的成員變量和方法。

聲明標(biāo)識(shí)的語法格式如下:

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

注意

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

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

【例5.14】通過聲明標(biāo)識(shí)聲明一個(gè)全局變量和全局方法。代碼如下:

        <%!
            int number=0;         //聲明全局變量
            int count(){          //聲明全局方法
                number++;         //累加number
                return number;    //返回number的值
            }
        %>

通過上面的代碼聲明全局變量和全局方法后,在后面如果通過<%=count()%>調(diào)用全局方法,則每次刷新頁面,都會(huì)輸出前一次值+1的值。

5.3.3 代碼片段

視頻講解:光盤\TM\lx\5\07代碼片段.mp4

所謂代碼片段,就是在JSP頁面中嵌入的Java代碼或是腳本代碼。代碼片段將在頁面請(qǐng)求的處理期間被執(zhí)行,通過Java代碼可以定義變量或是流程控制語句等;而通過腳本代碼可以應(yīng)用JSP的內(nèi)置對(duì)象在頁面輸出內(nèi)容、處理請(qǐng)求和響應(yīng)、訪問session會(huì)話等。代碼片段的語法格式如下:

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

代碼片段的使用比較靈活,它所實(shí)現(xiàn)的功能是JSP表達(dá)式無法實(shí)現(xiàn)的。

說明

代碼片段與聲明標(biāo)識(shí)的區(qū)別是:通過聲明標(biāo)識(shí)創(chuàng)建的變量和方法在當(dāng)前JSP頁面中有效,它的生命周期是從創(chuàng)建開始到服務(wù)器關(guān)閉結(jié)束;代碼片段創(chuàng)建的變量或方法,也是在當(dāng)前JSP頁面中有效,但它的生命周期是頁面關(guān)閉后就會(huì)被銷毀。

【例5.15】通過代碼片段和JSP表達(dá)式在JSP頁面中輸出九九乘法表。(實(shí)例位置:光盤\TM\sl\5\3)

編寫一個(gè)名稱為index.jsp的文件,在該頁面中先通過代碼片段將輸出九九乘法表的文本連接成一個(gè)字符串,然后通過JSP表達(dá)式輸出該字符串。index.jsp文件的代碼如下:

        <body>
        <%
            String str="";                        //聲明保存九九乘法表的字符串變量
            //連接生成九九乘法表的字符串
            for(int i=1; i<=9; i++){              //外循環(huán)
                for(int j=1; j<=i; j++){          //內(nèi)循環(huán)
                    str += j + "*" + i + "=" + j * i;
                    str+="&nbsp; ";               //加入空格符
                }
                str+="<br>";                      //加入換行符
            }
        %>
        <table width="440" height="85" border="1" cellpadding="0" cellspacing="0" style="font:9pt; "
        bordercolordark="#666666" bordercolorlight="#FFFFFF" bordercolor="#FFFFFF">
          <tr>
           <td height="30" align="center">九九乘法表</td>
          </tr>
          <tr>
           <td style="padding:3pt">
                <%=str%>                          //輸出九九乘法表
            </td>
          </tr>
        </table>
        </body>

運(yùn)行程序,將顯示如圖5.5所示的結(jié)果。

圖5.5 在頁面中輸出九九乘法表

主站蜘蛛池模板: 玉田县| 白朗县| 萨嘎县| 孝昌县| 台东县| 伊通| 柳林县| 桂阳县| 西林县| 石嘴山市| 宜川县| 米林县| 化州市| 榆中县| 藁城市| 泉州市| 方城县| 荣成市| 瑞昌市| 德保县| 湖南省| 达日县| 新干县| 巴东县| 栾川县| 攀枝花市| 迁西县| 延长县| 和林格尔县| 固阳县| 嘉黎县| 仲巴县| 彭阳县| 白玉县| 宕昌县| 株洲市| 周宁县| 南漳县| 静海县| 香港 | 休宁县|