JSP入門教程(4)
2020-06-01 23:25:21
供稿:網(wǎng)友
使用腳本
在有些地方,你大概要加一些好的,成熟的程序到你的JSP頁(yè)里,JSP的標(biāo)簽雖然很強(qiáng)大,但是完成某些工作還是比較費(fèi)力的困難的。這時(shí)你可以使用腳本語(yǔ)言段來(lái)補(bǔ)充JSP標(biāo)簽。
使用的JSP引擎是支持腳本語(yǔ)言的,SUN的JSP參考文說(shuō)明,必須使用Java程序語(yǔ)言來(lái)編寫腳本,但是其他第三方的JSP引擎允許使用其他語(yǔ)言來(lái)寫腳本程。
如何增加腳本
首先,你必須了解一些增加腳本元素到JSP頁(yè)中的一些基本規(guī)則
1、 在JSP頁(yè)面里用Page指令定義腳本(默認(rèn)值是Java,一般不需要定義)
2、 聲明語(yǔ)法<%!……%>聲明變量和方法(函數(shù))。
3、 表達(dá)式語(yǔ)法<%=……%>定義腳本語(yǔ)言表達(dá)式
4、 腳本語(yǔ)法〈%……%>可以操作聲明、表達(dá)式和其他類型合法的代碼段在頁(yè)腳本語(yǔ)言。
5、 一定要在結(jié)尾加%>標(biāo)簽
聲明、表達(dá)式、腳本使用起來(lái)有一些相似,但也有一些不同讓我們用一些例子來(lái)講述一下相同點(diǎn)和不同點(diǎn)吧。
聲明<%!……%>包含了一個(gè)或多個(gè)變量和方法,結(jié)尾以分號(hào)分隔。
例:<%! Int I=0 ; %>
<%! Int a, b ; double c ; %>
<%! Circle a = new circle(2.0) ; %>
在頁(yè)面中使用變量和方法之前必須聲明
聲明的范圍通常是JSP頁(yè),但如果頁(yè)面中使用INCLUDE指令包含其他頁(yè)面,范圍應(yīng)變得擴(kuò)展到被包含的頁(yè)面。
表達(dá)式<%=……%>可以在頁(yè)面中包含任何合法的語(yǔ)言表達(dá)式,不用分號(hào)。
例:<%= Math.sqrt(2) %>
<%= item[I] %>
<%= a+b+c %>
<%= new java.util.date() %>
表達(dá)式和腳本的一個(gè)關(guān)鍵的不同點(diǎn)就是不需要分號(hào)。如果你需要在腳本中使用表達(dá)式就必須加分號(hào)。
腳本<%……%>允許你寫的任何數(shù)量的腳本語(yǔ)言
例:<% String name=null ;
If (request.getParmeter("name")==null{
%>
記住在腳本中必須使用分號(hào)結(jié)尾。
猜數(shù)字游戲
猜數(shù)字游戲非常的有趣,而且從這里你還可以學(xué)到很多表達(dá)式的用法。
代碼
顯示用的主屏幕(numguess.jsp)
<!--
Number Guess Game
Written by Jason Hunter, CTO, K&A Software
jasonh@kasoftware.com, http://www.servlets.com
Copyright 1999, K&A Software
Distributed by Sun Microsystems with permission
-->
<%@ page import = "num.NumberGuessBean" %>
<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session" />
<jsp:setProperty name="numguess" property="*" />
<html>
<head><title>Number Guess</title></head>
<body bgcolor="white">
<font size=4>
<% if (numguess.getSuccess() ) { %>
Congratulations! You got it.
And after just <%= numguess.getNumGuesses() %>tries.<p>