原文:http://blog.csdn.net/a1837634447/article/details/54646448
感謝
向值棧保存數據(root)
ValueStack vs=ActionContext.getContext().getValueStack();
push(Object obj)//底層就是 root.add(0,obj) 將數據存儲到棧頂。
set(String name,Object obj);
/*底層是將數據封裝到HashMap中,在將這個HashMap通過push存儲。*/
在JSP中獲取值棧的數據
Action如果想傳遞數據給 JSP,只有將數據保存到成員變量,並且提供get方法就可以了
1.fieldError 校驗數據錯誤信息提示
2.actionError 關於邏輯操作時錯誤信息(例如登錄失敗)
3.message 就是一個信息.
this.addFieldError("msg", "字段錯誤信息");
this.addActionError("Action全局錯誤信息");
this.addActionMessage("Action的消息信息");
fieldError 針對某一個字段錯誤信息 (常用於表單校驗)、
actionError (普通錯誤信息,不針對某一個字段 登陸失敗)、
actionMessage 通用消息
在jsp中使用 struts2提供標籤 顯示消息信息
<s:fielderror fieldName="msg"/>
<s:actionerror/>
<s:actionmessage/>
1.如果棧頂是一個Map集合,獲取時,可以直接通過Map集合的key來獲取value.
<s:property value="username"/>
2.如果棧頂數據不是一個Map,沒有key值,可以使用序號來獲取。
<s:property value="[0]"> 從0的位置向下查找所有。
<s:property value="[0].top"> 只查找0位置上數據。
OgnlContext
1.request數據 存:request.setAttribute()
2.session數據 存:session.setAttribute()
3.application數據 存:application.setAttribute()
4.attr 依次從request,session.application中查找
5.parameters 獲取請求參數