向值栈保存数据(root)

1
2
3
4
ValueStack vs=ActionContext.getContext().getValueStack();
push(Object obj)//底层就是 root.add(0,obj) 将数据存储到栈顶。
set(String name,Object obj);
/*底层是将数据封装到HashMap中,在将这个HashMap通过push存储。*/

在JSP中获取值栈的数据

Action如果想传递数据给 JSP,只有将数据保存到成员变量,并且提供get方法就可以了 root

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
2
3
4
5
6
7
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
2
3
4
5
1.request数据    存:request.setAttribute()
2.session数据    存:session.setAttribute()
3.application数据  存:application.setAttribute()
4.attr   依次从request,session.application中查找
5.parameters 获取请求参数