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做的修改也就在這沒有反映。)
新聞熱點
疑難解答