仅仅是学习记录。把我知道的都说出来

一。值栈的作用

记录处理当前请求的action的数据。

二,小样例

有两个action:Action1和Action2

Action1有两个属性:name和passwd

Action2有两个属性:name2和passwd2

请求从Action1进入。chain方法导向Action2

Struts.xml配置信息:

<?

xml version="1.0" encoding="UTF-8"?

>

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"> <struts>
<package name="default" namespace="/" extends="struts-default">
<action name="action1" class="com.geekgao.action.Action1">
<result type="chain">
<param name="actionName">action2</param>
</result>
</action> <action name="action2" class="com.geekgao.action.Action2">
<result>
/welcome.jsp
</result>
</action>
</package>
</struts>

welcome.xml:

<%@ taglib prefix="s" uri="/struts-tags" %>
<%--
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
name:<s:property value="name"/><br>
passwd:<s:property value="passwd"/><br>
locale:<s:property value="locale"/>
<s:debug></s:debug>
</body>
</html>

三,訪问

訪问的路径:http://localhost:8080/Struts2OGNL/action1?

name=nn&passwd=pp

Struts2OGNL是项目名称

以下是值栈截图:



注意到,我们连接中给了的值都已经出如今值栈中了,即name和passwd。还有我们发现这明显是一个栈,谁先调用谁在以下,当我们取值的时候,是从栈顶開始向下搜索,首先找到的那个值就是终于结果。

jsp中取值的方法:

name:<s:property value="name"/><br>
passwd:<s:property value="passwd"/><br>
locale:<s:property value="locale"/>

依据名称取值,value是OGNL表达式,即对象图形导航语言,就是依据这个表达式找到一个对象。

假设一个对象的属性有一个类,比如User user。User有name和passwd属性,那么能够这样传參:

http://localhost:8080/Struts2OGNL/action1?

user.name=nn&user.passwd=pp

而且能够这样取值:

name:<s:property value="user.name"/><br>
passwd:<s:property value="user. passwd"/><br>
locale:<s:property value="locale"/>

当然,还能够直接用对象调用方法。比如以下的代码:

<s:property value="user.toString()"/>

其余的使用方法,看以下这张图,就不一一总结了。这个图是视频中截下来的,以后有问题了来看看,查查,应该就会使用了。

Struts2学习记录-Value Stack(值栈)和OGNL表达式的更多相关文章

  1. Struts2知识点小结(三)--值栈与ognl表达式

    1.问题一 : 什么是值栈 ValueStack        回顾web阶段 数据交互问题?        客户端提交数据  到  服务器端    request接受数据+BeanUtils实体封装 ...

  2. 关于Struts2中的值栈与OGNL表达式

    1.1.1    OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL     :OGNL比EL功能强大很多倍. 它是一个开源项目. ...

  3. struts2的总体回想(ACTION、拦截器、值栈、OGNL表达式、ModelDriven方案等)

    ValueStack:struts2的一个存放数据的数据结构(核心) ValueStack大致能够理解为:由Map和对象栈组成 ValueStack作用范围:一个请求,用它来取代request的作用域 ...

  4. 初学者易上手的SSH-struts2 04值栈与ognl表达式

    什么是值栈?struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值.,特点:先进后出.如果将它当做一个容器的话,而这个容器有两个元素,那么最上面的元素叫做栈顶元素,也就是所说的压 ...

  5. Lua和C++交互 学习记录之二:栈操作

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  6. Struts2的值栈和OGNL牛逼啊

    Struts2的值栈和OGNL牛逼啊 一 值栈简介: 值栈是对应每个请求对象的一套内存数据的封装,Struts2会给每个请求创建一个新的值栈,值栈能够线程安全的为每个请求提供公共的数据存取服务. 二 ...

  7. Struts2基础学习(七)—值栈和OGNL

    目录: 一.值栈 二.OGNL表达式 一.值栈(ValueStack) 1.定义      ValueStack贯穿整个Acton的生命周期,每个Action类的对象实例都拥有一个ValueStack ...

  8. struts2 学习记录 过滤器 国际化

    struts2接触不是一天两天了,但是一直没有用它做什么项目,但老师确一直说它有很大的学习价值,所以还是把我学习到的东西给记录一下,记录的东西没有规律,只是给自己留个备份, struts2中最关键的是 ...

  9. struts Value Stack 值栈

    首先声明:本文是从博客园博友的文章转载过来的,感觉说的不错.在此附上地址:http://www.cnblogs.com/jerryxing/archive/2012/04/23/2467299.htm ...

随机推荐

  1. 设计模式之责任链模式 chainOfResp

    后面我们将学习设计模式里面的行为型模式 代码实现 /** * 抽象类 * @author bzhx * 2017年3月14日 */ public abstract class Leader { pro ...

  2. 用python批量下载贴吧图片 附源代码

    环境:windows 7 64位:python2.7:IDE pycharm2016.1 功能: 批量下载百度贴吧某吧某页的所有帖子中的所有图片 使用方法: 1.安装python2.7,安装re模块, ...

  3. Pipenv 学习笔记

    个人笔记,胡言乱语.并不是什么教学向文章.. 前言 在学习了 Python.Java 后,会发现 Java 有很成熟的项目构建工具,以前是使用 xml 的 Maven,现在又出现了使用 groovy ...

  4. Map的常用方法keySet()、entrySet()

    Map是java中的接口,Map.Entry是Map的一个内部接口. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中key值的集合:en ...

  5. Junit单元测试--01

    如何编写单元测试 燕双龙 一 单元测试简介 单元测试是代码正确性验证的最重要的工具,也是系统测试当中最重要的环节.也是唯一需要编写代码才能进行测试的一种测试方法.在标准的开发过程中,单元测试的代码与实 ...

  6. BZOJ 1057:[ZJOI2007]棋盘制作(最大01子矩阵+奇偶性)

    [ZJOI2007]棋盘制作                                          时间限制: 20 Sec 内存限制: 162 MB[题目描述]国际象棋是世界上最古老的博 ...

  7. 【bzoj3998】[TJOI2015]弦论 后缀自动机+dp

    题目描述 对于一个给定长度为N的字符串,求它的第K小子串是什么. 输入 第一行是一个仅由小写英文字母构成的字符串S 第二行为两个整数T和K,T为0则表示不同位置的相同子串算作一个.T=1则表示不同位置 ...

  8. 查看端口被占用并结束进程 mac

  9. [LOJ#2329]「清华集训 2017」我的生命已如风中残烛

    [LOJ#2329]「清华集训 2017」我的生命已如风中残烛 试题描述 九条可怜是一个贪玩的女孩子. 这天她在一堵墙钉了 \(n\) 个钉子,第 \(i\) 个钉子的坐标是 \((x_i,y_i)\ ...

  10. val

    val 题目描述 有一个值初始为0,接下来n次你可以令其在之前基础上+2或+1或-1.你需要保证,这个值在整个过程中达到的最大值减去达到的最小值不大于k,求方案数,模1,000,000,007. 输入 ...