您的位置 首页 java

java学习笔记之-OGNL和Struts2标签

struts2 标签的优势:

  • 标签库简化了用户对标签的使用;

  • 结合OGNL使用,对于集合,对象的访问功能非常强大

  • 提供可扩展的主题,末班支持,极大地简化了视图页面的编写

  • 不依赖任何表现层技术

Struts2标签的分类:

通过标签(Generic Tags)

  • 数据标签(Data Tags) 
  • 控制标签(Control Tags) 

UI标签(UI Tags)

Ajax 标签(Ajax Tags)

数据标签:

<s:property>:输出指定值

  • value:用来获取值的OGNL表达式

  • default:value属性返回控制室,如果仍然希望输出某些内容,可使用default来制定这些内容

  • escprHtml:是否转义HTML,默认取值true

<s:debug>:查看值栈以及Stack Context中所有能访问的值

控制标签:

<s:if>/<s:elseif>/<s:else>表达分支判断

  • test:表示是否符合调减,本身是一个OGNL表达式,运算结果为一个 boolean

<s:iterator>用来处理循环,循环遍历集合对象

  • value:用来指明到底循环的是谁,这个属性的值是一个OGNL表达式

  • var :变量名称,用来引用循环的对象

  • status:返回当前循环的各种信息

  1. count:集合含有多少个对象 
  2. index:返回当前循环的这一项的 索引  
  3. even:当前循环到的对象是不是处于列表的偶数索引位置 
  4. odd:当前便利到的对象是不是处于列表的技术索引的位置 

OGNL简介

你使用过的OGNL

页面获取并输出Action属性

<s:property value=”userName”/> 页面中获取 request 保存的数据

<s:property value=”#request.loginAccess”/>

OGNL是什么

  • Object Graph Navigation Language, 对象图 导航语言

  • 是Struts2默认的表达式语言,开源,功能强大

  1. 存取对象的属性,调用对象的方法:访问 静态方法 和属性

  2. 访问值栈以及Stack Context

  3. 操作集合对象

  4. 支持赋值,运算操作,字段类型转化等

OGNL访问值栈

通过<s:property value=”house.title”/>为什么可以获取到房屋的标题信息’

house为Action的属性,Action的实例放在值栈(value Stack)中

OGNL可以直接访问值栈中的值

值栈(value Stack)

  • 存放数据的内存空间

  • 值栈中存放了Action的实例

    例如:可以通过OGNL来访问Action实例中的属性值

文章来源:智云一二三科技

文章标题:java学习笔记之-OGNL和Struts2标签

文章地址:https://www.zhihuclub.com/196501.shtml

关于作者: 智云科技

热门文章

网站地图