OGNL
OGNL
OGNL是一种可以方便地操作对象属性的开源表达式语言,目的就是避免在JSP页面中出现过多的<%...%>语句,提供更清晰的视图层实现。
OGNL(Object-Graph Navigation Language,对象导航语言)是一种功能强大的表达式(
Expression Language,EL)。通过OGNL,可以使用简单一致的表达式语法存取对象的任意属性、调用对象的方法、遍历整个对象元素和实现字段类型转换等功能。
Expression Language,EL)。通过OGNL,可以使用简单一致的表达式语法存取对象的任意属性、调用对象的方法、遍历整个对象元素和实现字段类型转换等功能。
struts2默认的表达式语言就是OGNL,相对于其他的表达式语言,具有以下的优势:
1)OGNL是将视图元素同模型对象绑定在一起的一种语言。使用OGNL的类型转换功能,会使类型转换变得更加简单。
2)支持对象方法调用。
3)支持类静态方法调用和值访问。
4)支持赋值操作和表达式串联。
5)可以方便的访问OGNL上下文和ActionContext。
6)可以方便的操作集合对象。
OGNL通常会结合struts2标签一起使用。在应用中会经常遇到关于“#”、“%”、“$”的使用问题。
“#”:1)访问OGNL上下文和Action上下文,相当于ActionContext.getContext().
2)用于过滤和投影集合。
3)用于构造Map。
“%”:该符号的用途是当标签的属性为字符串类型时,计算OGNL表达式的值。
“$”: 在国际化资源文件中使用OGNL表达式。
在struts2配置文件中使用OGNL表达式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理