Suifeng_Net

导航

JSP學習(一)

  1.      JSP程序的基本語法

<%! 變量、方法和類的聲明區(Declarations)%>

再此聲明的變量、方法和類都會被保留為唯一的一份,直到jsp程序停止執行為止,也就是說所有的請求服務都共用這一份,信息同時被分享。

<%@ page language="java" contentType="text/html; charset=BIG5" pageEncoding="BIG5"%>

<!-- 聲明區域 -->

<%!

int i=0;

//輸出

void print()

{

 System.out.println(i);

}

%>

<!--  調用區域  -->

<%----%>

<%

out.println(i);

print();

%>

<% 程序代碼區(Scriptlets)%>

<%=輸出表達式(Expressions)%>

必須是字符串或執行的結果可以被轉為字符串類型。

<!--注解區(Comments)-->

<%--注解區(Comments)--%>

<%//注解區(Comments)%>

<% /*注解區(Comments)*/%>

跳脫字符(Escape)

‘ => \’

“ => \”

\ =>\\

<% => <\%

%> => %\>

2. 編譯指令(Directives)

JSP程序有三種編譯指令:page\include和taglib編譯指令會改變jsp程序轉換成servlet程序代碼的結果

<%@ 編譯指令 屬性 “屬性值”%>

屬性的設定可以多個,但是除了import其它屬性不能設置多個,否則不會有任何輸出結果

Info=”infoText”

errorPage=”errorPageURL”

isErrorPage=”true|false”

用來設定jsp程序是否做為傳回錯誤信息的網頁,默認值為“false”

contentType=”contentTypeinfo”

這個屬性是用來設定傳回網頁的文件格式於編碼方式,默認值是”test/html;charset=8859_1”

Include編譯指令

Include編譯指令是用來將所指定的jsp程序或網頁內容嵌入jsp程序內

<%@ include file=”fileURLSpec”%>

Taglib編譯指令

Taglib編譯指令用來延伸jsp程序的操作指令(Action)

<%@ tablib url=”taglibrary” prefix=”prefix”%>

url屬性用來指定標簽定義庫的存放地址

prefix屬性用來定義標簽地前置字符串,以於默認地標簽做分別

 

3.操作指令(Actions)

操作指令和編譯指令不同地是,操作指令是在客戶端請求時期動態被執行地,每次有客戶端請求時,客能都會被重新執行一次,而編譯指令是在轉換時期既被執行它只是會被編譯一次

3.1 Jsp:useBean操作指令

<jsp:useBean id=”name” scope=”page|request|session|application” typespec/>

<jsp:useBean id=”name” scope=”page|request|session|application” typespec>

 

Body

</jsp:usebean>

Id 屬性用來設定Bean的名稱

Scope屬性用來設定bean的生命周期

Class 屬性用來設定bean的類類型

3.2 Jsp:setProperty操作指令

<jsp:SetProperty name=”beanname” propertyExpr/>

propertyExpr=property=”*”

|property=”propertyname”

|PROPERTY=”propertyname” value=”propertyvalue”

| PROPERTY=”propertyname” param=”parametername”

<Jsp:setProperty>是用來於<jsp:useBean>一起使用的

3.3 Jsp:getProperty操作指令

<jsp:getProperty name=”BeanName” Property=”PropertyName”>

<jsp:getProperty>是用來搭配<jsp:useBean一起使用的>

Name 屬性用來指定bean的名稱,切指定的bean必須存在

Property 屬性用來指定要讀取的屬性名稱,PropertyName必須是bean的屬性值

3.4 jsp:include 操作指令

<jsp:include page=”URLSpec” flush=”true”/>

Page用來指定要嵌入的html頁面或者是jsp程序頁面

Flush是指是否要將結果立即傾印出來,值必須設定為true。

3.5 jsp:forward操作指令

<jsp:forward page=”URLSpec”/>

<jsp:forward page=”URLSpec” flush=”true”/>

Jsp:forward 操作指令可以包含<jsp:param>來設定這個page需要用到的參數和它的值。

在page中可以用request.getParameter(“ParameterName”);來取得它得值。

<jsp:foward>和<jsp:include>區別:

Forward處理完畢會直接返回客戶端,但是include仍然會繼續執行完原有的jsp程序。

3.6 <jsp:param>操作

<jsp:param>操作提供了名稱、值信息,我們已經在<jsp:include>和<jsp:forward>操作中使用它。

它還可以用於<jsp:plugin>操作。在於上述對象一起使用的時候,包含的頁面或者轉發的頁面將看到新參數增加的原始request對象。

<jsp:param>操作的語法。

<jsp:param name=”name” value=”value”/>

Name:參數名稱 

Value:參數值

3.7 <jsp:plugin>操作

<jsp:plugin>操作支持生成在jsp頁面中包含java小程序的html。

<jsp:plugin>的基本語法 

<jsp:plugin

   Type=”bcan|applet”

 Code=”classFild”

 Codebase=”objectCodeBase”

 Align=”alignment”

 Archive=”archivelist”

Height=”height”

Hspace=”hspace”

Jrevision=”jrevision”

Name=”componentName”

Vspace=”vspace”

Width=”width”

Napluginurl=”url”

<jsp:params name=”paramname” value=”paramvalue”/>

<jsp:fallback>anyatbitraryText</jsp:fallback>

</jsp:plugin>

4.標記庫:

標記庫可以簡化頁面的操作,

標記庫的元素:

n          自定義操作的定義

n          Taglib指令

n          標記庫描述符

n          標記處理程序

標記庫的格式

自定義標記包括兩種可能的格式:

<prefix:tagName [attr=”value”]*>tagbody</prefix:tagName>

<prefix: tagName[attr=”value”]*/> or

<prefix: tagName[attr=”value”]*></prefix:tagName>

第一種格式是包含標記主體的操作,主體包括開始標記和結束標記之間的所有的文本。第二種沒有主體操作。可以使用一個緊跟結束標記的開始標記。

4.1 taglib指令

JSP頁面的taglib指令通知JSP容器,這個jsp頁面使用了一個由URL唯一標識的標記庫,並且關聯一個前綴,該前綴區分了庫中使用的操作。

Taglib指令的語法:

<%@ taglib url=”url to tag library” prefix=”tag prefix”%>

url指定了標記庫中的位置

4.2 標記庫描述符

標記庫描述符(Tag Library Descriptor,TLD)是一個描述標記庫的可擴展標記語言(Extensible Markup Language,XML)文檔。 

posted on 2007-03-29 15:02  隨風  阅读(580)  评论(0编辑  收藏  举报