五动羽、JSP的7個動作指令

動作指令只是在運(yùn)行時的動作至耻,編譯指令在將JSP翻譯成Servlet時起作用

JSP的主要動作指令

  • jsp:forword:執(zhí)行頁面轉(zhuǎn)向亲怠,將請求的處理轉(zhuǎn)發(fā)到下一頁面所计。
  • jsp:param:用于傳遞參數(shù)必須與其他支持參數(shù)的標(biāo)簽一起使用。
  • jsp:include:用于動態(tài)引入一個JSP頁面团秽。
  • jsp:plugin:用于下載JavaBean或Applet到客服端執(zhí)行主胧。
  • jsp:useBean:創(chuàng)建一個JavaBean實(shí)例。
  • jsp:setProperty:設(shè)置JavaBean實(shí)例的屬性值习勤。
  • jsp:getProperty:輸出JavaBean實(shí)例的屬性值踪栋。
5.1forward指令

forward指令用于將頁面響應(yīng)轉(zhuǎn)發(fā)到另外的頁面。
JSP的forward指令格式:
JSP1.0

<jsp:forward page="{relativeURL|<%=expression%>}" />

JSP1.1以上

<!--
轉(zhuǎn)發(fā)頁面是增加額外的參數(shù)傳遞图毕,
參數(shù)的值可以通過HttpServletRequest類的getParameter()方法獲取
-->
<jsp:forward page="{relativeURL|<%=expression%>}">
   <jsp:param.../>
</jsp:forward>

例:

<jsp:forward page="forward-result.jsp">
   <jsp:param name=age value=29 />
</jsp:forward>
<body>
<!--使用request內(nèi)置對象獲取age參數(shù)的值-->
<%=request.getParameter("age")%>
</body>

表單提交:

<form id="login" method="post" action="jsp-forward.jsp">
   <input type="text" name="username" />
   <input type="submit" value="submit" />
</form>

<jsp:forward.../>指令給人一種:它是將用戶的請求“轉(zhuǎn)發(fā)”到另一頁面夷都,但實(shí)際上并沒有重新向新頁面發(fā)送請求,它只是完全采用對用戶生成響應(yīng)予颤,請求依然是一次請求囤官,所以請求參數(shù)、請求屬性都不會丟失蛤虐。

5.2include指令

include指令是一個動態(tài)指令党饮,也用于包含某個頁面,它不會導(dǎo)入被include頁面的編譯指令笆焰,僅僅將被導(dǎo)入的頁面的body內(nèi)容插入本頁面劫谅。

語法格式:

<jsp:include page="{relativeURL|<%=expression%>}"  flush=""true />
<jsp:include page="{relativeURL|<%=expression%>}"  flush=""true>
   <jsp:param name="parameterName" value="patameterValue"/>
</jsp:include>

動態(tài)導(dǎo)入語法:

<body>
 <!--使用動態(tài)include指令導(dǎo)入頁面-->
<jsp:include page="include-result.jsp"/>
</body>

動態(tài)導(dǎo)入只是使用一個include方法來插入目標(biāo)頁面见坑,而不是將目標(biāo)頁面完全融入本頁面中嚷掠。

靜態(tài)導(dǎo)入和動態(tài)導(dǎo)入的三點(diǎn)區(qū)別:

  • 靜態(tài)導(dǎo)入是將導(dǎo)入頁面完全融入本頁面捏检,兩個頁面完全融合生成一個整體的Servlet,而動態(tài)導(dǎo)入則在Servlet中使用include方法來引入被導(dǎo)入頁面的內(nèi)容不皆。
  • 靜態(tài)導(dǎo)入時被導(dǎo)入頁面的的編譯指令會起作用贯城,而動態(tài)導(dǎo)入時被導(dǎo)入頁面的編譯指令則失去作用,只是插入被導(dǎo)入頁面的body內(nèi)容霹娄。
  • 動態(tài)導(dǎo)入還可以增加額外的參數(shù)能犯。

簡而言之,forward那布標(biāo)頁面代替原有的頁面犬耻,include拿目標(biāo)頁面插入原有的頁面踩晶。

5.3useBean、setProperty枕磁、getProperty指令

這三個指令都是與JavaBean相關(guān)的指令渡蜻,useBean指令用于在JSP頁面中初始化一個Java實(shí)例;setProperty指令用于為JavaBean實(shí)例的屬性設(shè)置值计济,getProperty指令用于輸出JavaBean實(shí)例的屬性

useBean的語法:

<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>

scop屬性指定的JavaBean實(shí)例的作用范圍:

  • page:該JavaBean實(shí)例僅在該頁面有效茸苇。
  • request:該JavaBean實(shí)例在本次請求有效。
  • session:該JavaBean實(shí)例在本次session內(nèi)有效沦寂。
  • application:該JavaBean實(shí)例在本應(yīng)用內(nèi)一直有效学密。
    setProperty指令語法:
<jsp:setProperty name="BeanName" property="propertyName" value="value" />

getProperty的語法:

<jsp:getProperty name="BeanName" property="propertyName" />

例:

<body>
<!--創(chuàng)建lee.Person的實(shí)例,該實(shí)例的實(shí)例名為p1-->
<jsp:useBean id="p1" class="lee.Person" scope="page" />
<!--設(shè)置p1的name屬性-->
<jsp:setProperty name="p1" property="name" value="zhangsan" />
<!--輸出p1的name值-->
<jsp:gettProperty name="p1" property="name" />
</body>

當(dāng)頁面調(diào)用setProperty和getProperty標(biāo)簽時传藏,系統(tǒng)底層就是調(diào)用setName()和getName()方法來操作Person實(shí)例的屬性的腻暮。

5.4plugin指令

plugin指令主要用于下載服務(wù)端的JavaBean或Applet到客服端執(zhí)行。由于程序要在客服端執(zhí)行毯侦,所以客服端必須安裝虛擬機(jī)西壮,實(shí)際中很少使用。

5.5param指令

param指令用于設(shè)置參數(shù)值叫惊,這個指令不能單獨(dú)使用款青,因?yàn)閱为?dú)的param指令沒有實(shí)際意義,param主要結(jié)合一下三個指令使用:

  • jsp:include
  • jsp:forward
  • jsp:plugin

語法格式:

<jsp:param name="paramName" value="paramValue" />
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霍狰,一起剝皮案震驚了整個濱河市抡草,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔗坯,老刑警劉巖康震,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異宾濒,居然都是意外死亡腿短,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來橘忱,“玉大人赴魁,你說我怎么就攤上這事《鄢希” “怎么了颖御?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長凝颇。 經(jīng)常有香客問我潘拱,道長,這世上最難降的妖魔是什么拧略? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任芦岂,我火速辦了婚禮,結(jié)果婚禮上垫蛆,老公的妹妹穿的比我還像新娘盔腔。我一直安慰自己,他們只是感情好月褥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布弛随。 她就那樣靜靜地躺著,像睡著了一般宁赤。 火紅的嫁衣襯著肌膚如雪舀透。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天决左,我揣著相機(jī)與錄音愕够,去河邊找鬼。 笑死佛猛,一個胖子當(dāng)著我的面吹牛惑芭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播继找,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼遂跟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了婴渡?” 一聲冷哼從身側(cè)響起幻锁,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎边臼,沒想到半個月后哄尔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡柠并,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年岭接,在試婚紗的時候發(fā)現(xiàn)自己被綠了富拗。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸣戴,死狀恐怖啃沪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情葵擎,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布半哟,位于F島的核電站酬滤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寓涨。R本人自食惡果不足惜盯串,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戒良。 院中可真熱鬧体捏,春花似錦、人聲如沸糯崎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沃呢。三九已至年栓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間薄霜,已是汗流浹背某抓。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惰瓜,地道東北人否副。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像崎坊,于是被迫代替她去往敵國和親备禀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 前面講了servlet入門實(shí)踐現(xiàn)在開始介紹jsp入門實(shí)踐奈揍,開發(fā)環(huán)境的搭建請參考我前面的tomcat的文章痹届,jsp入...
    伊豚wall閱讀 3,369評論 2 56
  • JSP 基本結(jié)構(gòu)JSP 頁面組成:模板文本(HTML,XML,純文本),JSP 元素打月;JSP 元素:腳本元素队腐,指令...
    jslancer閱讀 844評論 0 11
  • 一、jsp定義及作用 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)...
    yzw12138閱讀 1,232評論 0 0
  • 什么是jsp啃匿? 很久之前,我們的網(wǎng)頁都是靜態(tài)的铺浇,就是我們所看到的頁面在編寫好之后總是唯一的为严。后來有人便提出動態(tài)頁面...
    ezsync小智閱讀 1,511評論 0 13
  • JSP(Java Server Pages)敛熬,其根本是一個簡化的 Servlet 設(shè)計,實(shí)現(xiàn)了在 Java 當(dāng)中使...
    靜候那一米陽光閱讀 468評論 0 1