原文: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 获取请求参数