1:遍历Struts2的“值栈(ValueStack)”和“ActionContext”,及ValueStack 和OgnlValueStack 的区别:
可以通过这种方法来好好看看值栈中到底放了些什么。对理解Struts2的参数封装有很大帮助!
但是,这种方式是取不到在Action中定义的属性值的,要取得Action中的属性值,必须使用如下代码:
所以,ValueStack 和OgnlValueStack 的区别还是要好好研究一下,一般来说ValueStack中存储的是Action对象,而OgnlValueStack则对Action对象进行了解析,并把属性值也压入了值栈中了!
如果不使用OgnlValueStack的话,要通过ValueStack来取得Action中的属性值的话,必须先通过ValueStack取得Action对象,再通过Action对象来取得属性值(必须设置属性的getter方法),如:
2:struts2一旦發現你的類型轉換錯誤,或者輸入是不合法的數據,會自動定義struts.xml中action裏面的result的name為 input,即自動尋找名稱為input的結果。但是現在的struts.xml並沒有關於result名字為input的處理,所以它的提示錯誤消息是 “找不到結果集”。