一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

OGNL和EL表達(dá)式對比 Struts2標(biāo)簽和JSTL對比

 小丑g22xft6chp 2017-04-05

本人發(fā)現(xiàn)Struts2中的標(biāo)簽和OGNL表達(dá)式,和hibernate中用到的EL表達(dá)式和JSTL有一定的相似之處,對比學(xué)習(xí)會更加清晰,所以加以對比,以加深記憶。

OGNL(Object-Graph Navigation Language)對象圖導(dǎo)航語言

OGNL表達(dá)式訪問值棧:

  1. 值棧(Value Stack),可以理解為一個 存儲數(shù)據(jù)的Map,主要存儲了當(dāng)前action 的 實例。所以就可以使用OGNL訪問值棧中的內(nèi)容,也就是action的屬性 

  2.OGNL表達(dá)式通過getter方法 來訪問action中的屬性,所以,action中的屬性一定都要添加getter/setter方法。

   例:< s: property value = "house . street . streetName"/>   //< s: property>用來在jsp頁面中顯示OGNL表達(dá)式的值,OGNL表達(dá)式寫在value屬性中。

  3.  其實,值棧是被存儲在request當(dāng)中的,不過由于action中保存的值使用頻率很高,所以O(shè)GNL提供了直接 訪問值棧的方式,以簡化編程。

OGNL表達(dá)式訪問Stack Context:

 action以外的數(shù)據(jù)都存儲在Stack Context中,如request , session , application等。訪問Stack Context中的 內(nèi)容,需要加上“#” 符號

   如:< s: property value = "#session.userName"/>     //訪問session中 的userName

EL(Expression Language)表達(dá)式

EL表達(dá)式用來訪問各種作用域中的數(shù)據(jù),并顯示在JSP頁面中。

語法:${  EL表達(dá)式  }  //  "$" 和“{}” 缺一不可

要點

1. 使用EL表達(dá)式之前,必須將操作的對象保存到作用域中 。JSP提供了4種作用域: page ,request , session , application.

2. “作用域名稱.” 方式即可實現(xiàn) 使用作用域 訪問對象 讀取屬性值,如:

   ${ requestScope.news["title"]}  //讀取新聞標(biāo)題

3. 當(dāng)使用EL表達(dá)式訪問某個屬性值是,應(yīng)當(dāng)指定 查找的范圍 。如果程序不指定查找的范圍,那么 系統(tǒng)會自動按照( page -》request -》 session -》 application)的 順序進(jìn)行查 找所以,以上例子也可以寫成:${ news["title"]}

4. EL表達(dá)式訪問對象的屬性,有兩種方法: “.”操作符和 "[ ]" 操作符

    ${news.title} 或者 ${ news["title"]}

5. EL表達(dá)式訪問變量和 集合

   ${ userName} 訪問變量   ${ list[0] } 訪問集合


Struts2標(biāo)簽

使用Struts2標(biāo)簽之前需要在 JSP頁面上 添加taglib指令:<%@ tagib uri = "/struts-tags"  profix = " s" %>

分類:

通用標(biāo)簽(Generic Tag)

   數(shù)據(jù)標(biāo)簽(Data Tag)

            <s:property> <s:url> <s:a> <s:param> <s:include> <s:debug> <s:date> <s:set>

   控制標(biāo)簽 (Control Tag)

           <s:if> <s:elseif> <s:else> <s:iterator>

UI標(biāo)簽(UI  Tag)

         <s:form> <s:textfield> <s:textarea> <s:submit> <s:select> <s:doubleselect>

Ajax標(biāo)簽( Ajax  Tag)

       <sx:datetimepicker>

      使用datetimepicker日歷控件,需要以下步驟:

  1.在項目中引入struts2-dojo-plugin-2.1.8.jar 。

  2. 導(dǎo)入<%@ tagib uri = "/struts2-dojo-tags"  profix = " sx" %> 。

  3. 在<head> 中添加 <sx:head parseContent = "true"/>。

  4. 添加標(biāo)簽 <sx:datetimepicker name = "timer" label= "發(fā)表時間"/>。


JSTL(Java Page Standard Tag Library, JSP標(biāo)準(zhǔn)標(biāo)簽庫)

JSTL主要用來實現(xiàn)邏輯控制。完成以下兩個步驟才可以再JSP中使用JSTL:

1.下載JATL所需的jstl,jar 和 standard.jar,并將其添加到項目中 。

2.在JSP頁面中添加標(biāo)簽指令:<%@ tagib uri = "http://Java.sun.com/jsp/jstl/core"  profix = " c" %>

標(biāo)簽:

<c:out/>  <c:set/>  <c:remove/>  <c:forEach/ >  <c:if/>  <c:url/ >  <c:param/>  <c:import/>等等

<fmt:format/>  <fmt:formatNumber/>格式化時間和日期 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产精品午夜视频免费观看 | 日韩性生活片免费观看| 国产一区二区三区色噜噜| 日韩视频在线观看成人| 欧美成人免费夜夜黄啪啪| 亚洲欧洲在线一区二区三区| 日韩一区二区三区观看| 日韩视频在线观看成人| 国产精品免费不卡视频| 香蕉久久夜色精品国产尤物 | 激情视频在线视频在线视频| a久久天堂国产毛片精品| 国产真人无遮挡免费视频一区| 国产福利一区二区三区四区| 欧美亚洲另类久久久精品| 国产精品福利一级久久| 夫妻性生活动态图视频| 91天堂素人精品系列全集| 日韩黄色大片免费在线| 国产传媒中文字幕东京热| 美国欧洲日本韩国二本道| 国产精品蜜桃久久一区二区| 亚洲精品国产第一区二区多人| 欧美又大又黄刺激视频| 欧美一区二区不卡专区| 久久老熟女一区二区三区福利| 国产精品免费视频久久| 熟妇久久人妻中文字幕| 少妇在线一区二区三区| 亚洲国产另类久久精品| 欧美极品欧美精品欧美| 久久精品国产第一区二区三区 | 欧美成人欧美一级乱黄| 在线日本不卡一区二区| 青青操在线视频精品视频| 日韩中文高清在线专区| 精品欧美国产一二三区| 国产av大片一区二区三区| 国产美女网红精品演绎| 日韩无套内射免费精品| 不卡中文字幕在线免费看|