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标签的更多相关文章

  1. JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总

    一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出.       1,JSTL标签总结: a).JSTL标签有什么用?          JSTL是由JCP(Java Commu ...

  2. 3:4 OGNL 表达式二

    总结: 一:ActionContext的结构: 1:set标签创建的对象也是作为非值栈对象. 2:(非值栈的存储都是以键值对的方式存的.) [问非值栈的 User对象] [用例] 关于request: ...

  3. OGNL表达式的基本语法和用法

    首先我们一起来看一下OGNL中的#.%和$符号. 关于OGNL各种用法总结参看:http://blog.163.com/seara520@126/blog/static/720693042010320 ...

  4. Struts2 OGNL表达式、ValueStack

    OGNL简介 OGNL,即Object-Graph Navigation Language,对象视图导航语言,是一种数据访问语言,比EL表达式更加强大: EL只能从11个内置对象中取值,且只能获取属性 ...

  5. OGNL表达式struts2标签“%,#,$”

    一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGN ...

  6. Struts2的标签库(二)——OGNL表达式

    Struts2的标签库(二) --OGNL表达式 1.Struts2中的OGNL表达式增加了ValueStack的支持. 注:ValueStack--实际上是一个容器对象,该对象在启动Struts2框 ...

  7. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

  8. 【基于初学者的SSH】struts2 值栈的详解与struts2标签库+ognl表达式

    一:什么是值栈:struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值 特点:先进后出,最上面的元素叫做栈顶,也叫压栈. <s:debug></s:debug& ...

  9. struts2 页面标签或ognl表达式取值--未完待续

    一.加#号取值和不加#号取值的解说 1.s:property 标签——value属性使用事项 1)涉及问题:取值时什么时候该加#,什么时候不加? 2)介绍 <s:property value=& ...

随机推荐

  1. 【DataStructure In Python】Python模拟链表

    最近一直在学习Python和Perl这两门语言,两者共同点很多,也有不多.希望通过这样的模拟练习可以让自己更熟悉语言,虽然很多时候觉得这样用Python或者Perl并没有体现这两者的真正价值. #! ...

  2. poj1724ROADS(BFS)

    链接 本来想写spfa 加点什么限制什么的可能就过了 写着写着就成裸BFS了 也没优化就水过了 #include <iostream> #include<cstdio> #in ...

  3. hdu4632Palindrome subsequence

    http://acm.hdu.edu.cn/showproblem.php?pid=4632 TLE了N次 原因居然是取模次数太多了..! 这数据卡的好紧 还是我写的太搓..828ms挤过 s[i]= ...

  4. POJ 1062 昂贵的聘礼 解题报告

    本题不难,但是笔者贡献了30多次Submit……就像Discuss讨论的一样,细节决定成败,WA了肯定有理由. 贴代码,Dijkstra+优先队列. #include <cstdio> # ...

  5. c#集合类的线程安全

    即位于System.Collections命名空间下的集合,如Hashtable,ArrayList,Stack,Queue等.其均提供了线程同步的一个实现 集合线程同步的问题 public clas ...

  6. ruby编程语言-学习笔记5(第5章 语句和控制结构)

    以下是2种表达方式一样. if expression code end if expression then #推荐这种形式 code end expression的值不是false或nil,则cod ...

  7. zookeeper实现分布锁

    分布式锁服务在大家的项目中或许用的不多,因为大家都把排他放在数据库那一层来挡.当大量的行锁.表锁.事务充斥着数据库的时候.一般web应用很多的瓶颈都在数据库上,这里给大家介绍的是减轻数据库锁负担的一种 ...

  8. NOIP2010关押罪犯 二分+二染色

    这个题一上来 没有思路,后来想没有思路就二分吧 那么我们来二分 首先,大于当前的mid值的关系,不能出现在一个集合里 (即关系形成的图是一个二分图,判定二分图可以二染色) 如果不能形成二分图,那么说明 ...

  9. HDU5668 Circle 非互质中国剩余定理

    分析:考虑对给定的出圈序列进行一次模拟,对于出圈的人我们显然可以由位置,编号等关系得到一个同余方程 一圈做下来我们就得到了n个同余方程 对每个方程用扩展欧几里得求解,最后找到最小可行解就是答案. 当然 ...

  10. javascript二维数组

    var a= new Array(new Array(1,2),new Array('b','c')); document.write(a[1][1]); 说白了,就是利用for循环定义二维数组! & ...