不適用任何框架時編寫的jsp頁面,在jsp頁面中通過el表示式只能訪問page/request/session/aaplication範圍的屬性;
而使用struts框架可以通過el表示式訪問action中的屬性,這是由於:
案例:struts.xml:
<?xml version="1.0" encoding="utf-8" ?>personaction.xml:/index.jsp
/index.jsp
package blog.action;book.j**a: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()
}
package blog.bean;index.jsp: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)
}
結果: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表示式中...