Struts2 中 和 符號的用途

2021-06-21 15:54:00 字數 1888 閱讀 3607

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

「#」主要有三種用途:

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) @ 用於靜態方法或屬性的呼叫

Struts 2中 和 符號的相應用途

和 符號在ognl表示式中經常出現,而這三種符號也是開發者不容易掌握和理解的部分。在這裡筆者簡單介紹它們的相應用途。1 符號的用途一般有三種。1 訪問非根物件屬性,例如示例中的 session.msg表示式,由於struts 2中值棧被視為根物件,所以訪問其他非根物件時,需要加 字首。實際上,相當於...

Struts2中的特殊符號

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

struts2中的特殊符號的作用

符號的用途一般有三種。主要有三種用途 1.訪問ognl上下文和action上下文,相當於actioncontext.getcontext 下表有幾個actioncontext中有用的屬性 parameters 包含當前http請求引數的map parameters.id 0 作用相當於request...