OGNL表示式的基本用法

2021-08-19 21:09:45 字數 2391 閱讀 3485

s:property的作用

<%--匯入標籤庫--%> 

<%@ taglib uri="/struts-tags" prefix="s" %>

<%--要想使用 ognl 表示式,需要借助 struts2 的標籤--%>

屬性:

value:取值是乙個ognl表示式。

執行結果:

此時瀏覽器不會有任何內容顯示

原因 這句話中有【ognlexpression】

這幾個字,這幾個字就說明它要去某個地方

找資料,那自然是找到了就顯示,找不到就什麼都不顯示了

ognl的寫法

<%--

ognl表示式的完整語法

--%>

ognl表示式的完整語法:

ognl表示式的完整語法:

ognl表示式的完整語法:

<%--

ognl表示式的簡單語法

--%>

ognl表示式的簡單語法:

ognl表示式的簡單語法:

ognl表示式的簡單語法:

把乙個ognl 表示式看成是字串的方式是:

%或者是%
到底是使用單引號還是雙引號,是由外層引號決定的。以上兩種都可以實現。

我們也可以簡寫,就是把外面的%{}去掉,直接用引號括住表示式。

'ognl表示式'或者是"ognl表示式"
  

<%--

把ongl表示式轉成字串:

可以單引號或者雙引號套起來就變成字串了

--%>

把ongl表示式轉成字串:

把ongl表示式轉成字串:

ognl表示式的強大之處在於它可以讓我們在表示式中訪問物件的方法,例如下面的**:

長度:value="'ognlexpression'.length()"/>

轉大寫:value="'ognlexpression'.touppercase()"/>

分隔:value="'ognlexpression'.split('e')"/>

ognl表示式訪問靜態屬性和靜態方法

ognl表示式還支援訪問靜態成員,這其中包括靜態屬性和靜態方法, 但是必須按照提供的格式編寫,

格式是:@包名.包名…類名@靜態屬性名稱

這其中…的含義表示有幾級包,就寫幾個包名。

示例**如下:

int 的最大值:
ognl 表示式訪問靜態方法,需要開啟對靜態方法訪問的支援

struts2 框架預設不支援 ognl 表示式的靜態方法呼叫,開啟的方式如下:

value="true">constant>
示例**如下:

隨機數:
list集合

用 html 在瀏覽器上輸出乙個單選性別:

type=

"radio" name="gender"

value="男"/>男

type=

"radio" name="gender"

value="女"/>女

用 struts2 的單選按鈕標籤輸出乙個單選

<%--

s:radio 用於在瀏覽器上顯示乙個單選按鈕

list 屬性取值是乙個 ognl 表示式

{} 相當於:

list list = new arraylist();

相當於: list.add("男");list.add("女");

--%>

map集合

用 html 在瀏覽器上輸出乙個單選性別:map 結構

type=

"radio" name="gender"

value="male"/>男

type=

"radio" name="gender"

value="female"/>女

#{}就表示建立了乙個 map

<%--

#{}就表示建立了乙個 map

裡面的寫法

# --%>

OGNL表示式使用

訪問值棧中的action的普通屬性 username 訪問值棧中物件的普通屬性 get set方法 wrong 訪問值棧中物件的普通屬性 get set方法 訪問值棧中物件的普通方法 訪問值棧中物件的普通方法 訪問值棧中action的普通方法 訪問靜態方法 訪問靜態屬性 訪問math類的靜態方法 訪...

el表示式跟ognl表示式的區別

el表示式 如果在struts環境中,它除了有在上面的四個作用域的取值功能外,還能從值棧 valuestack 中取值 特點 name在值棧中的查詢順序是 先從物件棧中取,取到終止,否則,向map中取。在物件棧的查詢順序是,先從model中找是否有name這個屬性,找到終止,否則,找action中是...

OGNL表示式學習筆記

訪問值棧中的action的普通屬性 username 訪問值棧中物件的普通屬性 get set方法 wrong 訪問值棧中物件的普通屬性 get set方法 訪問值棧中物件的普通方法 訪問值棧中物件的普通方法 訪問值棧中action的普通方法 訪問靜態方法 訪問靜態屬性 訪問math類的靜態方法 訪...