ognl中 帶 的取值

2021-08-31 06:29:16 字數 768 閱讀 9735

從 ((!alreadyin) && (s.indexof("#") == -1)

比如:$ 如果在request中沒找到name則停止尋找,直接返回。

$ 如果在request中沒找到name則會繼續在valuestatck中繼續尋找。

補充:ognl是乙個物件,屬性的查詢語言。在ognl中有乙個型別是map的context(稱為上下文),在這個上下文中有乙個跟元素(root),對跟元素的屬性的訪問可以直接使用屬性名字,但是對於其他非跟元素的訪問必須加上特殊符號#。

在struts2中 上下文為actioncontext,根元素位value stack(值堆疊,值堆疊代表了一族物件而不是乙個物件,其中action類的實

例也屬於值堆疊的乙個)。actioncontext中的內容如下圖:

| |

|--session

context map---|

|--value stack(root)

| |--request

| |--parameters

| |

因為action例項被放在value stack中,而value stack又是根元素(root)中的乙個,所以對action中的屬性的訪問可以不使用標記#,而對其他的訪問都必須使用#標記。

在jsp2.1中#被用作了jsp el(表示式語言)的特殊記好,所以對ognl的使用可能導致問題,

乙個簡單的方法是禁用jsp2.1的el特性,這需要修改web.xml文 件:

*.jsp

true

帶引數標籤的取值方法

方法一 content 第乙個標籤,兩個引數選擇顯示型別和顯示條數 shownews 2,15 第二個標籤,乙個引數來判斷拆分的有效性,show2 5 第三個標籤,無引數 nolable 這是我習慣用的變數名,從模板讀取的內容變數.call replacelable content,shownews...

在python帶權重的列表中隨機取值的方法

1 random.choice python random模組的choice方法隨機選擇某個元素 foo a b c d e from random import choice print choice foo 2 random.sample 使用python random模組的sample函式從列...

Struts2中OGNL的 , , 使用

ognl是通常要結合struts 2的標誌一起使用,如等。大家經常遇到的問題是 和 這三個符號的使用。主要有三種用途 訪問ognl上下文和action上下文,相當於actioncontext.getcontext 下表有幾個actioncontext中有用的屬性 名稱作用例子 parameters ...