struts2中的特殊符號的作用

2021-08-03 11:28:31 字數 1920 閱讀 6693

#符號的用途一般有三種。

「#」主要有三種用途:

1. 訪問ognl上下文和action上下文,#相當於actioncontext.getcontext();下表有幾個actioncontext中有用的屬性:

parameters 

包含當前http請求引數的map 

#parameters.id[0]作用相當於request.getparameter ("id")

request 

包含當前httpservletrequest的屬性(attribute)的map 

#request.username相當於request.getattribute("username")

session 

包含當前httpsession的屬性(attribute)的map 

#session.username相當於session.getattribute("username")

包含當前應用的servletcontext的屬性(attribute)的map 

#attr.username相當於按順序在以上三個範圍(scope)內讀取username屬性,直到找到為止

2)用於過濾和投影(projecting)集合,如示例中的persons.。

3)用來構造map,例如示例中的#。

二.%符號

%符號的用途是在標誌的屬性為字串型別時,轉換為計算ognl表示式的值。如下面的**所示:

構造map

the value of key 「foo1″ is

不使用%:

使用%:

三.$符號

$符號主要有兩個方面的用途。

在國際化資源檔案中,引用ognl表示式,例如國際化資源檔案中的**:reg.agerange=國際化資源資訊:年齡必須在$同$之間。

在struts 2框架的配置檔案中引用ognl表示式,例如下面的**片斷所示:10

100

baction-test校驗:數字必須為$為$之間!

2、動態的結果集(dynamic result)

$

注:${}:作用是用於在配置檔案中從value stack(值棧)中取值。

例如:$ 表示從value stack(值棧)中取raction的(成員屬性)的值。注意這個成員屬性必需存在

注:此處的${}不是el表示式。

get/set方法。

action類中指定了r的值。這樣就動態確定了result的值

public class useraction extends actionsupport

public void setr(string r)

public int gettype()

public void settype(int type)

@override

public string execute() throws exception }

四、@符號

package com. wjt276.struts2.ognl;

public class s }

訪問靜態方法:

訪問靜態屬性:

訪問math類的靜態方法:

// 兩個@符號

小結:

$ # % @

a) $ 用於i18n和struts配置檔案

b) # 取得actioncontext的值

c) % 將原本的文字屬性解析為ognl,對於本來就是ognl的屬性不起作用

d) @ 用於靜態方法或屬性的呼叫

Struts2中的特殊符號

size large 從actioncontext中取值,前面加上 百分號的作用就是將大括號中的值當成ognl表示式 用於在struts配置檔案中 和 符號在ognl表示式中經常出現,而這三種符號也是開發者不容易掌握和理解的部分。在這裡筆者簡單介紹它們的相應用途。1 符號的用途一般有三種。1 訪問非...

php中的特殊符號

php中判斷是否相等用 php中的 符號 遮蔽單行錯誤。如果 之後的語句執行出錯的話,不在螢幕列印出錯誤資訊。如果不用的話錯誤資訊就會顯示出來 php中的die函式 輸出一條訊息,並退出當前指令碼。die unable to connect to site 如果 status 是字串,則該函式會在退...

bash中的特殊符號

bash中的特殊符號 批註符號,視為說明,後面的資料均不執行 轉義符號,將 特殊字元和萬用字元 還原成一般字元 管道pipe,分割2個管道命令的界定 連續命令執行的分隔符,連續性命令的界定 使用者的主資料夾 使用變數前導符 job control 作業控制,將命令變成背景下工作 邏輯運算意義上的非 ...