向值栈保存数据&在JSP中获取值栈的数据

Author Avatar
itning 5月 09, 2018
  • 在其它设备中阅读本文章

向值栈保存数据(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方法就可以了
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.如果栈顶是一个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 获取请求参数

原创内容,转载请注明出处!
本文链接:https://blog.itning.top/posts/Struts2/20180509-Save-Data-to-Value-Stack-Get-Value-Stack-Data-in-JSP.html