Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Struts2学习笔记-Value Stack(值栈)和OGNL表达式

只是本人的Struts2学习笔记,关于Value Stack(值栈)和OGNL表达式,把我知道的都说出来,希望对大家有用。

一,值栈的作用

记录处理当前请求的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文件上传(保存为BLOB格式) http://www.linuxidc.com/Linux/2014-06/102905.htmStruts2的入门实例 http://www.linuxidc.com/Linux/2013-05/84618.htmStruts2实现ModelDriven接口 http://www.linuxidc.com/Linux/2014-04/99466.htm遇到的Struts2文件下载乱码问题 http://www.linuxidc.com/Linux/2014-03/98990.htmStruts2整合Spring方法及原理 http://www.linuxidc.com/Linux/2013-12/93692.htmStruts2 注解模式的几个知识点 http://www.linuxidc.com/Linux/2013-06/85830.htmStruts 的详细介绍:请点这里
Struts 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120529.htm