1. 程式人生 > >2018.11.25 struts2與OGNL表示式的結合

2018.11.25 struts2與OGNL表示式的結合

兩者的結合原理


底層原始碼分析

棧原理 先進後出

我們的valuestack其實是一個介面

在實現類中有這個引數

CompoundRoot的類繼承的是ArrayList,具體實現彈棧和壓棧的方法具體實現原理

在OgnlValueStack實現類中分別有彈棧和壓棧的方法

檢視值棧中兩部分的內容 (Root部分和context) 使用DEBUG標籤

頁面需要倒入標籤庫

輸入位址列回車出現一個Deug的連結,點選即可

Root部分

預設情況下,棧中放置當前訪問的Action物件

Context部分

Context部分就是ActionContext資料中心


struts2與ognl結合體現

位址列

控制檯顯示null值


問題分析

由攔截器交給ognl,先走完20個攔截器在到ognl,在Action中才壓棧

到底層分析

預設走的攔截器

要在這之前完成賦值

準備工作在這了實現