js|初學|教程
1,指令碼標記
聲明將要用到的語言:
<%@ page language="java" %>指明jsp指令,表明後面的指令碼代碼將採用java語言文法
引用包中的類:
<%@ page import="java.util.*" %>表示要用到java.util包裡的類
聲明變數:
<%! int count=0;%>聲明一個整形變數,並賦初值0。聲明要符合Java文法規範,並且要";"結尾。
聲明方法:
<%! int show(int val){{return val;}%> or <%! Area s=new Area(5.0); %> 使用變數和方法之前一定要聲明。
輸出運算式:
<%=2*X%>直接輸出運算式的值,X必須是前面已聲明過的變數(不能用分號),相當於asp中的<%=%>
HTML注釋符:
<!--注釋[<%=運算式%>]-->,注意的是注釋中可以用運算式。
隱藏注釋符:
<%--Here are comments,Only Can See In Server.--%>表示是Jsp注釋,在伺服器端將被忽略,也不轉化為HTML的注釋,在用戶端查看源碼時是看不到的。
註:在<%-- --%>之間,可以任意寫備註陳述式,但是不能使用"--%>",若一定要使用,請在最後使用"--%\>"。
包含另一個jsp檔案:
<%jsp:include page="another.jsp"%> or <%@ include page="another.jsp"%>表示在當前頁面插入另一個檔案another.jsp的內容
小指令碼(Scriptlet):
<% java程式碼 %>在Scriptlet中可以包含多個jsp語句、方法、變數或者運算式。
普通的jsp語句:
<% for(int i=0,i<10,i++)//jsp的本文部分
out.println(i+"<br>");
%>
2.指令
Jsp的指令有page、include兩種
page指令(屬性:6個)
language屬性:
<@ page language=”java” %>//指明所用的的語言
import屬性:
<@ page import=”java.util.*” %>//載入包
注意:在java中,要載入多個包,就用import分別指用,並用分號隔開;在jsp中,如用一個import指明多個包,用逗號隔開。
如:<%@ page import=”java.util.*,java.lang.*”%>
也可<%@ page import=”java.util.*”%>
<%@ page import=” java.lang.*”%>(但不主張這樣用,不規範。)
session屬性:
<@ page session=”true or false” %>預設情況下session的值為true
如:<%@ page session=”true”%>
<% if(session.getValue(“name”)==null)
session.putValue(“name”,”123456”);
else session.putValue(“name”,session.getValue(“name”)+”1”);
%>
<% out.println(session.getValue(“name”));%>
若session=”false”,則會出現編譯錯。
errorPage屬性:
指當前頁面程式發生錯誤時,由errorPage指定的程式來處理
寫法:
<@ page errorPage=”errorPage.jsp” %>
如:
test.jsp: <%@page errorPage=”errorPage.jsp”@>
<%!int i=0;%>
<%=7/i%>
errorPage.jsp: <%@page isErrorPage=”true”@>
<%=exception%>
運行test.jsp,將會看到被0除的錯誤資訊。
isErrorPage屬性:
指明了當前程式是否為另一程式的例外處理常式。不論它是否設定,例外都會導向當前程式,問題在於當前程式能否得到此例外的對象。如設定為true,將會產生髮生的例外的一個對象exception,並可以在代碼中使用它;若設定了false,使用exception程式將將會在編譯時間出錯。
如:將上例的true改為false,將會出現以下錯誤:
Error:500
Unable to compile class for JSP
寫法:
<%@page isErrorPage=”true”@>
contentType屬性:
指定了MIME的類型和JSP檔案的字元編碼方式,它們都是最先傳送給用戶端。
MIME類型有:text/plain、text/html(預設類型)、text/html、image/gif、image/jpeg、image/jpeg
預設的字元編碼方式:ISO8859-1
include指令
作用:是用來向當前頁中插入一個靜態檔案的內容,這個檔案可能是html檔案、jsp檔案或其它文字檔,格式如下:
<%@ include file=”include.inc”%>
如:
native.jsp:
<body>
native file start here.<br>
<%@ include file=”include.inc”%>
native file end here.<br>
</body>
include.inc:
include file start here.<br>
<%! String str=”Here is include’s context!”;%>
<% out.pringln(str+”<br>”);%>
include file end here.<br>
運行native.jsp,結果如下:
native file start here.
include file start here.
Here is include’s context!
include file end here.
native file end here.
注意:因為include.inc檔案是在編譯時間才插入的,所以只改 include.inc檔案內容,而不對原JSP頁面做修改,得到的結果仍將是以前的結果。(因為一開始JSP引擎就判斷了JSP頁面沒被改動過,就直接執行已存在的位元組碼,而不對原始碼重新編譯,這樣對include做的修改也就在這沒有反映。)