国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

新手入門:JSP及語法概要

2024-09-05 00:20:16
字體:
來源:轉載
供稿:網友
  概述

  java server pages(jsp)使得我們能夠分離頁面的靜態html和動態部分。html可以用任何通常使用的web制作工具編寫,編寫方式也和原來的一樣;動態部分的代碼放入特殊標記之內,大部分以“<%”開始,以“%>”結束。

  例如,下面是一個jsp頁面的片斷,如果我們用http://host/orderconfirmation.jsp/title=core+web+programming這個url打開該頁面,則結果顯示“thanks for ordering core web programming”。

thanks for ordering<i><%= request.getparameter("title") %></i>

  jsp頁面文件通常以.jsp為擴展名,而且可以安裝到任何能夠存放普通web頁面的地方。雖然從代碼編寫來看,jsp頁面更象普通web頁面而不象servlet,但實際上,jsp最終會被轉換成正規的servlet,靜態html直接輸出到和servlet service方法關聯的輸出流。

  jsp到servlet的轉換過程一般在出現第一次頁面請求時進行。因此,如果你希望第一個用戶不會由于jsp頁面轉換成servlet而等待太長的時間,希望確保servlet已經正確地編譯并裝載,你可以在安裝jsp頁面之后自己請求一下這個頁面。

  另外也請注意,許多web服務器允許定義別名,所以一個看起來指向html文件的url實際上可能指向servlet或jsp頁面。

  除了普通html代碼之外,嵌入jsp頁面的其他成分主要有如下三種:腳本元素(scripting element),指令(directive),動作(action)。腳本元素用來嵌入java代碼,這些java代碼將成為轉換得到的servlet的一部分;jsp指令用來從整體上控制servlet的結構;動作用來引入現有的組件或者控制jsp引擎的行為。為了簡化腳本元素,jsp定義了一組可以直接使用的變量(預定義變量),比如前面代碼片斷中的request就是其中一例。

  注意本文以jsp 1.0規范為基礎。和0.92版相比,新版本的jsp作了許多重大的改動。雖然這些改動只會使jsp變得更好,但應注意1.0的jsp頁面幾乎和早期的jsp引擎完全不兼容。

  jsp語法概要表

  jsp表達式 <%= expression %> 計算表達式并輸出結果。 等價的xml表達是:

<jsp:expression> expression </jsp:expression>

  可以使用的預定義變量包括:request,response,out,session,application,config,pagecontext。這些預定義變量也可以在jsp scriptlet中使用。

  jsp scriptlet <% code %> 插入到service方法的代碼。 等價的xml表達是:

<jsp:scriptlet> code </jsp:scriptlet>

  jsp聲明 <%! code %> 代碼被插入到servlet類(在service方法之外)。 等價的xml表達是:

<jsp:declaration> code </jsp:declaration>

  page指令 <%@ page att="val" %> 作用于servlet引擎的全局性指令。 等價的xml表達是

<jsp:directive.page att="val"\>

  合法的屬性如下表,其中粗體表示默認值:

import="package.class" contenttype="mime-type" isthreadsafe="true|false" session="true|false" buffer="size kb|none" autoflush="true|false" extends="package.class" info="message" errorpage="url" iserrorpage="true|false" language="java"  

  include指令 <%@ include file="url" %> 當jsp轉換成servlet時,應當包含本地系統上的指定文件。 等價的xml表達是:

<jsp:directive.include  file="url"\>.

  其中url必須是相對url。

  利用jsp:include動作可以在請求的時候(而不是jsp轉換成servlet時)引入文件。

  jsp注釋 <%-- comment --%> 注釋;jsp轉換成servlet時被忽略。 如果要把注釋嵌入結果html文檔,使用普通的html注釋標記<-- comment -->。

  jsp:include動作 <jsp:include page="relative url" flush="true"/> 當servlet被請求時,引入指定的文件。 如果你希望在頁面轉換的時候包含某個文件,使用jsp include指令。

  注意:在某些服務器上,被包含文件必須是html文件或jsp文件,具體由服務器決定(通常根據文件擴展名判斷)。

jsp:usebean動作 <jsp:usebean att=val*/> 或者 <jsp:usebean att=val*> ... </jsp:usebean> 尋找或實例化一個java bean。 可能的屬性包括: id="name" scope="page|request|session|application" class="package.class" type="package.class" beanname="package.class" jsp:setproperty動作 <jsp:setproperty att=val*/>設置bean的屬性。既可以設置一個確定的值,也可以指定屬性值來自請求參數。 合法的屬性包括: name="beanname" property="propertyname|*" param="parametername" value="val" jsp:getproperty動作 <jsp:getproperty name="propertyname" value="val"/> 提取并輸出bean的屬性。   jsp:forward動作 <jsp:forward page="relative url"/> 把請求轉到另外一個頁面。   jsp:plugin動作 <jsp:plugin attribute="value"*> ... </jsp:plugin> 根據瀏覽器類型生成object或者embed標記,以便通過java plugin運行java applet。

  關于模板文本(靜態html)

  許多時候,jsp頁面的很大一部分都由靜態html構成,這些靜態html也稱為“模板文本”。模板文本和普通html幾乎完全相同,它們都遵從相同的語法規則,而且模板文本也是被servlet直接發送到客戶端。此外,模板文本也可以用任何現有的頁面制作工具來編寫。

  唯一的例外在于,如果要輸出“<%”,則模板文本中應該寫成“<\%”。

  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 明星| 钦州市| 长丰县| 遂昌县| 彰武县| 章丘市| 灵璧县| 寻甸| 井研县| 九江县| 商水县| 子洲县| 浑源县| 金秀| 都匀市| 舞钢市| 阳曲县| 商洛市| 蓝山县| 玉环县| 五家渠市| 山阴县| 乌兰县| 五莲县| 贡嘎县| 射阳县| 惠州市| 梁河县| 玉屏| 襄汾县| 陈巴尔虎旗| 民县| 岳西县| 莱西市| 吴桥县| 湟中县| 佛学| 龙川县| 张北县| 钟山县| 绥芬河市|