- 什么是OGNL表达式
- Object-Graph Navigation Language的缩写。
- 可以遍历整个对象结构图,实现对象类型转换等功能的表达式。
- OGNL实际上是个Map集合,有一个上下文根对象。
- ActionContext作为OGNL上下文,并把ValueStack作为根对象。
- ValueStack
- 可以执行,增加,删除,查询。
- struts2会把Action放到栈顶。
- OGNL中的几个家伙
- #
- 访问非根对象属性
#session.msg
相当于 ActionContext.getContext().getSession().getAttribute("msg");
- %
- 字符串类型时,计算OGNL表达式
- $
- 在国际化资源文件中,引用OGNL表达式
- 在Struts 2框架的配置文件中引用OGNL表达式
- @
- 访问静态方法
- 常用标签
- 流程控制标签
<s:if test="{}"></s:if>//if表达式
<s:if test="{}"></s:if><s:else></s:else>//if else 表达式
<s:ifelse test="{}"></s:ifelse>//Ifelse 表达式
//test 字符串 要加%{} 判断集合元素的符号 in,not in
//in 判断集合是否在当前集合内,not in 判断集合是否不在当前集合内. OGNL过滤表达式
?://获取所有符合的元素
^://获取第一个符合的元素
$://获取最后一个符合的元素 <s:iterator value=""></s:iterator>
//对一个集合进行迭代
//id 集合内元素的ID
//status 指定迭代对象名称
<s:iterator value="books.{?#this.price > 35}">
//?#this.price > 35 this 指取当前集合内的属性值符合条件的元素。
<s:property value="title" /> - $<s:property value="price" />
</s:iterator>- 通用标签
<s:property value="">
//default 获取属性值.
//scope 指定命名空间.
//value 属性名
//id 元素标识 <s:set scope="" name="" value="">
//设置属性值 value 如果是字符串需要加'',否则会当成变量.
//scope 可以是application、session、request、 page或action. <s:action id="" name="" namespace="" executeResult="false|true" ignoreContextParams="false|true"/>
//action 引用名称 namespace 命名空间 executeResult 是否返回视图 ignoreContextParams 是否传递参数 <s:bean id="" name="">
// id 引用名称 带id 标签结束不会移除对象 name 实现类全路径
<s:param name="" value=""/>
//name 参数名称 value 参数值
</s:bean> <s:date format="" nice="" name="" id=""/>
//format 日期输出格式 nice 输出时间差 name 时间值 id 引用名称- 调试标签
<s:debug/>
//输出所有的信息valuestack context <s:fielderror/>
//控制端 调用addFieldErrors(,) <s:actionerror/>
//获取Action错误消息 需要在控制端调用addActionError 方法 <s:actionmessage/>
//获取Action消息 需要在控制端调用addActionMessage方法- 表单标签
- #
相关文章
- Struts2学习笔记(OGNL表达式)
- Struts2中使用OGNL表达式语言访问静态方法和静态属性
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
- struts2(六)之ognl表达式与ActionContext、ValueStack
- struts2简单入门-参数传递的三种方式
- Struts2 OGNL表达式、ValueStack
- python正则表达式简单爬虫入门+案例(爬取猫眼电影TOP榜)
- 简单易懂的程序语言入门小册子(3):基于文本替换的解释器,let表达式,布尔类型,if表达式
- 简单入门正则表达式 - 第十一章 Java与.Net中的正则表达式应用
- Struts2自学入门(六)——OGNL数据标签和控制标签