ognl表达式和s标签
1、ognl表达式:
Ognl上下文对象:(他是一个可以存储数据的空间结构,而且在这个结构中包含之前 jsp中的作用域对象)
(放在 value stack控件),当前访问的Action这个上下文对象是ognl对象的一部分。
对于这个ognl对象来讲,我们是使用ognl的表达式来访问的。
Ognl表达式语法,#表达式;//如果访问的是值栈的栈顶,可以不使用#。
1)ognl 具有访问ognl空间属性的作用
2)ognl不具有输出功能,需要结合s标签。
3)Ognl可以获得action对象的属性。
4)Ognl可以获得jsp作用域中的属性,或者javabean的对象,容器对象的遍历。
5)Ognl 不但可以取值,还可以赋值
6)Ognl 不但可以根据属性得值,还能直接调用方法
2、s标签:
1)存储标签
2)程序结构控制标签
3)视图标签
3、s标签 在处理 字符串敞亮的时候,必须加单引号。
作业:1、利用s标签 和 ognl表达实现增删改查。
<!-- 默认 type dispatcher ,请求转发到一个jsp页面
type chain ,请求转发 到一个 action
type redirect ,重定向到一个 jsp页面
type redirectAction,重定向到一个 action -->先导入
对应的
Strtus的jar包。
然后去对应的 Web App Libraries 里面找到:
Struts2-core-2.3.14.jar
META-INF
Struts-tags.tld 查看对应的 核心标签儿的描述文件
那与这个描述文件 相对应的 java处理程序就写在 这个 jar包里面。
然后在页面上进行导入 就可以使用了。
这里面设计了标签使用的 三个 大的要素。
1、 java处理程序
2、对应的描述文件
3、在页面上的引用。
<a href="yupdate.action?userId=<s:property value="userId"/>">修改</a>
<a href="delete.action?userId=<s:property value="userId"/>">删除</a>
//汪一正(F0DEF15B05F1对话) 15:18:46
<!-- 超链接传值 --> <s:url value="index.jsp" var="url"> <s:param name="id">中华人民共和国</s:param> </s:url> <a href="<s:property value="#url"/>">链接</a> <hr/> <s:url action="test" var="url2"></s:url> <s:property value="#url2" /> <!-- 输出结果 /Struts2-4/test.action -->
ognl表达式和s标签的更多相关文章
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
- 3:4 OGNL 表达式二
总结: 一:ActionContext的结构: 1:set标签创建的对象也是作为非值栈对象. 2:(非值栈的存储都是以键值对的方式存的.) [问非值栈的 User对象] [用例] 关于request: ...
- OGNL表达式的基本语法和用法
首先我们一起来看一下OGNL中的#.%和$符号. 关于OGNL各种用法总结参看:http://blog.163.com/seara520@126/blog/static/720693042010320 ...
- Struts2 OGNL表达式、ValueStack
OGNL简介 OGNL,即Object-Graph Navigation Language,对象视图导航语言,是一种数据访问语言,比EL表达式更加强大: EL只能从11个内置对象中取值,且只能获取属性 ...
- OGNL表达式struts2标签“%,#,$”
一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGN ...
- Struts2的标签库(二)——OGNL表达式
Struts2的标签库(二) --OGNL表达式 1.Struts2中的OGNL表达式增加了ValueStack的支持. 注:ValueStack--实际上是一个容器对象,该对象在启动Struts2框 ...
- Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...
- 【基于初学者的SSH】struts2 值栈的详解与struts2标签库+ognl表达式
一:什么是值栈:struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值 特点:先进后出,最上面的元素叫做栈顶,也叫压栈. <s:debug></s:debug& ...
- struts2 页面标签或ognl表达式取值--未完待续
一.加#号取值和不加#号取值的解说 1.s:property 标签——value属性使用事项 1)涉及问题:取值时什么时候该加#,什么时候不加? 2)介绍 <s:property value=& ...
随机推荐
- 【DataStructure In Python】Python模拟链表
最近一直在学习Python和Perl这两门语言,两者共同点很多,也有不多.希望通过这样的模拟练习可以让自己更熟悉语言,虽然很多时候觉得这样用Python或者Perl并没有体现这两者的真正价值. #! ...
- poj1724ROADS(BFS)
链接 本来想写spfa 加点什么限制什么的可能就过了 写着写着就成裸BFS了 也没优化就水过了 #include <iostream> #include<cstdio> #in ...
- hdu4632Palindrome subsequence
http://acm.hdu.edu.cn/showproblem.php?pid=4632 TLE了N次 原因居然是取模次数太多了..! 这数据卡的好紧 还是我写的太搓..828ms挤过 s[i]= ...
- POJ 1062 昂贵的聘礼 解题报告
本题不难,但是笔者贡献了30多次Submit……就像Discuss讨论的一样,细节决定成败,WA了肯定有理由. 贴代码,Dijkstra+优先队列. #include <cstdio> # ...
- c#集合类的线程安全
即位于System.Collections命名空间下的集合,如Hashtable,ArrayList,Stack,Queue等.其均提供了线程同步的一个实现 集合线程同步的问题 public clas ...
- ruby编程语言-学习笔记5(第5章 语句和控制结构)
以下是2种表达方式一样. if expression code end if expression then #推荐这种形式 code end expression的值不是false或nil,则cod ...
- zookeeper实现分布锁
分布式锁服务在大家的项目中或许用的不多,因为大家都把排他放在数据库那一层来挡.当大量的行锁.表锁.事务充斥着数据库的时候.一般web应用很多的瓶颈都在数据库上,这里给大家介绍的是减轻数据库锁负担的一种 ...
- NOIP2010关押罪犯 二分+二染色
这个题一上来 没有思路,后来想没有思路就二分吧 那么我们来二分 首先,大于当前的mid值的关系,不能出现在一个集合里 (即关系形成的图是一个二分图,判定二分图可以二染色) 如果不能形成二分图,那么说明 ...
- HDU5668 Circle 非互质中国剩余定理
分析:考虑对给定的出圈序列进行一次模拟,对于出圈的人我们显然可以由位置,编号等关系得到一个同余方程 一圈做下来我们就得到了n个同余方程 对每个方程用扩展欧几里得求解,最后找到最小可行解就是答案. 当然 ...
- javascript二维数组
var a= new Array(new Array(1,2),new Array('b','c')); document.write(a[1][1]); 说白了,就是利用for循环定义二维数组! & ...