我是靠谱客的博主 舒服钻石,最近开发中收集的这篇文章主要介绍OGNL的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对象导航图语言(Object Graph Navigation Language),是应用于Java中的一个开源的表达式语言(Expression Language),它被集成在Struts2等框架中,作用是对数据进行访问,它拥有类型转换、访问对象方法、操作集合对象等功能。
作用:
1、支持对象方法调用
2、支持静态方法调用和值访问
3、支持复值操作和表达式串联
4、访问OGNL上下文和ActionContext
5、操作集合对象
入门:

public void demo throw OgnlException{
OgnlContext context =new OgnlContext();
Object obj=Ognl.getValue("@java.lang.Math@random()",context,context.getRoot());
}
public void demo1 throw OgnlException{
OgnlContext context =new OgnlContext();
//获取OgnlContext数据
context.put("name","张三");
String name =(String)Ognl.getValue("#name",context,context.getRoot());
System.out.println(name);
//获得Root中的数据
User user new User();
user.setName("李四");
context.setRoot(user);
String name1 =(String)Ognl.getValue("#name",context,context.getRoot());
System.out.println(name1);
}

EL特殊字符:
1、#号的使用
获取context的数据

<s:property value='#request.name'>

构建一个集合

<s:iterator value="#{'aaa':'111','bbb':'222' }" var="entry">
<s:property value="key"/>------<s:property value="value"/></br>
<s:property value="#entry.key"/>------<s:property value="#entry.value"/></br>
</s:iterator>
<s:radio list="#{'1':'男','2':'女'}" name-"sex"></s:radio>

2、%号的使用
解析OGNL表达式

<s:textfield name="name" value="%{#request.name}">

不解析OGNL表达式

<s:property value="%{'#request.name'}">

3、$号的使用
在配置文件中

<action name="download" class="com.stu.action.DownloadAction">
<result type="stream">
<param name="Content-Type">文件类型</param>
<param name="Content-Disposition">attachment;filename=${文件名}</param>
</result>
</action>

此博客仅记录自己的学习,如有雷同或错误,欢迎联系作者,共同探讨,共同学习!

最后

以上就是舒服钻石为你收集整理的OGNL的使用的全部内容,希望文章能够帮你解决OGNL的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部