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 -->
时间: 2024-10-23 23:46:40

ognl表达式和s标签儿的相关文章

struts标签、OGNL表达式、JSTL标签、EL表达式

Struts标签.Ognl表达式.el表达式.jstl标签库这四者之间的关系和各自作用 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之

OGNL表达式的基本语法和用法------2

OGNL表达式的基本语法和用法 首先我们一起来看一下OGNL中的#.%和$符号.关于OGNL各种用法总结参看:http://blog.163.com/[email protected]/blog/static/72069304201032081730286/ 一.OGNL中的#.%和$符号 #.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里我们简单介绍它们的相应用途. 1.#符号的三种用法 1)访问非根对象属性,例如示例中的#session.msg表达

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

一.什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言.OGNL有如下特点: 1.支持对象方法调用,形式如:objName.methodName(): 2.支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名 |  值名],例如: @java.lang.String@format('foo %s', 'bar')或@tutorial.

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

Struts2的标签库(二) --OGNL表达式 1.Struts2中的OGNL表达式增加了ValueStack的支持. 注:ValueStack--实际上是一个容器对象,该对象在启动Struts2框架时被创建,当前端的JSP页面向Action发送请求时,Struts2框架会将请求的数据封装并存放在栈顶,当请求结束后,此栈顶的数据被清除.Struts2的标签访问数据就是通过访问ValueStack来实现的. 2.Struts2可以直接从对象中获取属性,可以自动搜索Stack Context的所有

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

<转载> 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供

常用标签及OGNL表达式

OGNL(Object-Graph Navigation Language)是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性. Struts2默认的表达式语言是OGNL,OGNL是通常要结合Struts2的标签一起使用,如<s:property value="xx" />就是结合了Struts标

Struts2标签库汇总和OGNL表达式语言

Struts2标签分类 UI标签:主要用于生成HTML元素的标签 非UI标签:主要用于数据访问.逻辑控制的标签 Ajax标签:用于支持Ajax的标签 表单标签(属于UI标签):用于生成HTML页面的form标签及普通表单元素的标签 非表单标签(属于UI标签):用于生产页面上的树.Tab页等标签 流程控制标签(属于非UI标签):主要包含用于实现分支.循环等流程控制的标签 数据访问标签(属于非UI标签):主要包含用于操作值栈和完成国际化功能的标签. OGNL表达式语言 (Object-Graph N

【Struts2五】ValueStack以及ognl表达式二(常用标签)

Ognl常用标签:  1.s:debug 如果把该标签放入到s:iterator中可以看到当前正在迭代的元素的状态   2.s:property 1.输出 2.value属性:值能直接跟ognl表达式 3.如果value属性不写,则默认输出栈顶的元素    3:s:iterator标签 (1).iterator迭代Collection,Map,Object[],还可以以组合的形式迭代 (2).当前正在迭代的元素在栈顶 (3).如果value属性不写,则默认迭代栈顶的元素 (4).如果迭代的是ma

【Struts2五】ValueStack以及ognl表达式二(经常使用标签)

Ognl经常使用标签:  1.s:debug 假设把该标签放入到s:iterator中能够看到当前正在迭代的元素的状态   2.s:property 1.输出 2.value属性:值能直接跟ognl表达式 3.假设value属性不写.则默认输出栈顶的元素    3:s:iterator标签 (1).iterator迭代Collection,Map,Object[],还能够以组合的形式迭代 (2).当前正在迭代的元素在栈顶 (3).假设value属性不写,则默认迭代栈顶的元素 (4).假设迭代的是