struts2中的OGNL表示式語言

2022-09-12 03:33:10 字數 1606 閱讀 2362

不適用任何框架時編寫的jsp頁面,在jsp頁面中通過el表示式只能訪問page/request/session/aaplication範圍的屬性;

而使用struts框架可以通過el表示式訪問action中的屬性,這是由於:

案例:struts.xml:

<?xml version="1.0" encoding="utf-8" ?>

/index.jsp

/index.jsp

personaction.xml:

package blog.action;

import j**a.util.arraylist;

import j**a.util.list;

import blog.bean.book;

import com.opensymphony.xwork2.actionsupport;

public class personaction extends actionsupport

public void setname(string name)

public listgetbooks()

public void setbooks(listbooks)

public string execute()

}

book.j**a:

package blog.bean;

public class book

public void setid(int id)

public string getname()

public void setname(string name)

public double getprice()

public void setprice(double price)

public book(int id,string name,double price)

}

index.jsp:

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

request.setattribute("user1","lisi");

session.setattribute("user2","zhangsan");

%>

--通過el表示式直接訪問action的屬性--

$-- 通過ognl表示式訪問request和session範圍的資料 --

-- s:iterator在迭代集合時有個特點:會把當前迭代的物件放在值棧的棧頂 --

-- 採用ognl表示式建立集合 --

= -- 採用ognl表示式判斷物件是否存在於集合中 --

在   

不在不在   

在-- ognl表示式的投影功能 --

80}">

: **     

結果:

struts 2的OGNL表示式

既然要訪識問資料,必須有個東西裝資料。ognl的裝資料的東西叫 stack context ognl context 可以理解它相當於乙個map.1.它裡面的每個 物件,都應該有個名字,根據名字來訪問。物件名 假如ognl context中有3個物件 foo bar test bar.abc 訪問b...

Struts2中OGNL的 , , 使用

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

struts2中的ognl小問題

還是個小細節的問題 本是想在註冊之後,將註冊的名字通過session.set username username 然後轉到accountregist.jsp頁面,先前都寫成 或者或者 試了這幾個都不行,出現的值都是value裡的字串,而不是去值棧裡取值的,搞得真是夠鬱悶的 和 符號在ognl表示式中...