- 浏览: 1397045 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (346)
- linux (10)
- hbase (50)
- hadoop (23)
- java (52)
- java multi-thread (13)
- Oracle小记 (41)
- 机器学习 (12)
- 数据结构 (10)
- hadoop hive (16)
- java io (4)
- jms (1)
- web css (1)
- kafka (19)
- xml (2)
- j2ee (1)
- spring (6)
- ibatis (2)
- mysql (3)
- ext (3)
- lucene (3)
- hadoop pig (3)
- java nio (3)
- twemproxy (1)
- antlr (2)
- maven (6)
- mina (1)
- 列数据库 (1)
- oozie (2)
- mongodb (0)
- 报错 (0)
- jetty (1)
- neo4j (1)
- zookeeper (2)
- 数据挖掘 (3)
- jvm (1)
- 数据仓库 (4)
- shell (3)
- mahout (1)
- python (9)
- yarn (3)
- storm (6)
- scala (2)
- spark (5)
- tachyon (1)
最新评论
-
guokaiwhu:
赞啊!今晚遇到相同的问题,正追根溯源,就找到了博主!
hbase 报错gc wal.FSHLog: Error while AsyncSyncer sync, request close of hlog YouAr -
喁喁不止:
很清楚,有帮助。
hive常用函数 -
dsxwjhf:
Good job !!
kafka获得最新partition offset -
Locker.Xai:
参考了
freemaker教程 -
maoweiwer:
为啥EPHEMERAL_SEQUENTIAL类型的节点并没有自 ...
zookeeper 入门讲解实例 转
ognl是一种表达式语言,感觉跟velocity这些东西差不多
struts2是根据ognl做的,实现mvc
ognl需要两个包ognl包,还有xwork-core包,要不会保存,包什么没有javassit什么滴
下面给出几个ognl的入门小例子
来源 http://blog.csdn.net/mmm123lmj/article/details/4527898
package org.ognl.test; import java.util.HashMap; import java.util.Map; import ognl.Ognl; import junit.framework.TestCase; /** * http://blog.csdn.net/mmm123lmj/article/details/4527898 * @author Administrator * */ public class OgnlTest extends TestCase { /*获得类属性,以及使用root getValue*/ public void testOgnl_01() throws Exception{ User user = new User(); user.setUsername("dirk"); String value = (String) Ognl.getValue("username", user); System.out.println(value); } public void testOgnl_02() throws Exception{ User user = new User(); Person p = new Person(); p.setUsername("dallas"); user.setPerson(p); String value = (String) Ognl.getValue("person.username", user); System.out.println(value); } public void testOgnl_03() throws Exception{ User user = new User(); Person p = new Person(); p.setUsername("dallas"); user.setPerson(p); String value = (String) Ognl.getValue("#root.person.username",user); System.out.println(value); } public static void main(String[] args) throws Exception { new OgnlTest().testOgnl_01(); } //---------------------------------------------------- //OGNL CONTEXT使用· public void testOgnl_04() throws Exception{ Person p1 = new Person(); Person p2 = new Person(); p1.setUsername("dirk"); p2.setUsername("terri"); Map<String, Person> context = new HashMap<String, Person>(); context.put("p1", p1); context.put("p2", p2); String value = (String) Ognl.getValue("p1.username +','+p2.username", context,new Object()); System.out.println(value); } public void testOgnl_05() throws Exception{ Person p1 = new Person(); Person p2 = new Person(); p1.setUsername("风"); p2.setUsername("云"); Map<String,Person> context = new HashMap<String,Person>(); context.put("p1", p1); context.put("p2", p2); User root = new User(); root.setUsername("雨"); String value = (String)Ognl.getValue("#p1.username + ',' + #p2.username + ',' + username", context, root); System.out.println(value); } //------------------------------------- //not important : OGNL赋值操作 java的method反射 get set方法 public void testOgnl_06() throws Exception{ User user = new User(); //给root对象的属性赋值,相当于调用user.setUsername() Ognl.setValue("username", user, "暗之幻影"); System.out.println(user.getUsername()); } public void testOgnl_07() throws Exception{ User user = new User(); Map<String, User> context = new HashMap<String, User>(); context.put("u", user); //给context中的对象属性赋值,相当于调用user.setUsername() Ognl.setValue("#u.username", context, new Object(), "暗之幻影"); System.out.println(user.getUsername()); } public void testOgnl_08() throws Exception{ User user = new User(); Map<String, User> context = new HashMap<String, User>(); context.put("u", user); //给context中的对象属性赋值,相当于调用user.setUsername() //在表达式中使用=赋值操作符来赋值 Ognl.getValue("#u.username = '暗之幻影'",context, new Object()); System.out.println(user.getUsername()); } public void testOgnl_09() throws Exception{ User user = new User(); Person p = new Person(); Map<String,Object> context = new HashMap<String,Object>(); context.put("u", user); context.put("p", p); //给context中的对象属性赋值,相当于调用user.setUsername() //在表达式中使用=赋值操作符来赋值 Ognl.getValue("#u.username = '风',#p.username = '云'",context, new Object()); System.out.println(user.getUsername()+","+p.getUsername()); } //-------------------------------------- //not important 使用OGNL调用对象的方法 public void testOgnl_10() throws Exception{ User user = new User(); user.setUsername("暗之幻影"); String value = (String)Ognl.getValue("getUsername()", user); System.out.println(value); } public void testOgnl_11() throws Exception{ User user = new User(); Ognl.getValue("setUsername('暗之幻影')", user); System.out.println(user.getUsername()); } }
发表评论
-
java内存使用查看 转
2015-10-29 14:51 865转:http://mxsfengg.iteye.com ... -
Java线上应用故障排查之二:高内存占用
2015-08-17 16:28 0搞Java开发的,经常会碰到下面两种异常: 1、java. ... -
java filechannel
2015-08-14 15:42 1050Java NIO中的FileChannel是一个连接到文件 ... -
Java线上应用故障排查之一:高CPU占用
2015-08-06 13:58 6185转http://blog.csdn.net/blade20 ... -
java注释
2015-04-10 15:49 0Java注解是附加在代码中的一些元信息,用于一些工具在编译、 ... -
转jvm
2015-03-24 14:13 1669一、回顾JVM内存分配 ... -
java 域名转换
2014-12-22 11:05 765import java.net.InetAddres ... -
freemaker教程
2014-10-13 11:56 1978新换了工作,与想象差距也太大了 最近沦落到做报表了,我就 ... -
protocal buffers入门实例
2014-09-22 21:08 1651hadoop yarn中新的系列化protocol buf ... -
正则小计
2014-09-18 20:47 0&site=(.*?)&可以匹配site的值 ... -
在HBase中应用MemStore-Local Allocation Buffers解决Full GC问题
2014-06-13 23:05 1604译者注:上个月 ... -
java ipc 实例
2014-05-21 22:59 4876java ipc实例,仿照hadoop ipc写的实例 1 ... -
java worker thread模式
2014-03-25 22:46 1975转两个帖子 一个java wo ... -
bloom filter
2014-03-09 19:41 1953看到hadoop join和hbase都有bloo ... -
java reference
2014-03-09 17:49 714转 http://www.iteye.com/to ... -
annotation实例
2014-02-11 22:04 1135加载指定目录的所有class,通过注释区分实体类 p ... -
java获取子类 转
2014-02-11 16:58 3120获取子类 package com.tools; ... -
动态代理
2013-08-14 20:38 1080动态代理,转:http://langyu.iteye. ... -
java byte inputstream and outputstream
2013-02-18 11:47 0转http://blog.csdn.net/rcoder ... -
JVM同步浅析
2013-01-11 11:38 1650堆 (所有类的实例或 ...
相关推荐
OGNL,全称Object-Graph Navigation Language,是一种强大的表达式语言,专为存取对象的属性、...无论是在Web应用开发、Spring框架或其他使用OGNL的项目中,掌握这些基础知识都将极大地提高你的开发效率和代码质量。
**OGNL的基础概念:** 1. **表达式**:OGNL的核心是其表达式,如`person.name`,这将获取`person`对象的`name`属性。 2. **上下文(Context)**:OGNL表达式解析时会查找一个上下文,通常是一个Map,其中包含了变量...
本教程将深入探讨Struts2的核心概念、JQuery的使用、类型转换以及OGNL表达式语言。 首先,让我们来看看Struts2的基础知识。Struts2是基于Apache的开源项目,它是对早期Struts框架的升级,引入了拦截器模式,提供了...
本资料整理主要涵盖了OGNL的基础概念、语法特性、使用场景以及常见问题,旨在帮助读者深入理解和应用这一技术。 一、OGNL基础 1.1 OGNL简介 OGNL起源于2003年,设计目的是简化Java对象模型的导航和数据操作。它...
2. **语法基础**:讲解OGNL的表达式语法,包括访问对象属性、调用方法、数组和集合操作、条件语句、循环语句等。 3. **OGNL在Struts2和Spring中的应用**:如果OGNL主要用于这两个框架,文档可能会深入讨论如何在...
在提供的压缩包文件"Struts2_1900_OGNL"中,可能包含了一些关于Struts2 OGNL表达式使用和安全性的示例代码、教程文档或是漏洞分析。通过研究这些内容,你可以更深入地理解和掌握Struts2框架中OGNL表达式的运用,以及...
在深入研究Struts2和OGNL时,可以查看`Struts2Day2_ognl`压缩包中的资源,可能包含教程、示例代码、练习和解决方案,帮助你更全面地掌握这一重要技术。记得定期更新Struts2框架和依赖,以确保使用的是最新的安全版本...
很好的struts2入门教程,网上搜集整理的! 内容: ·常用的Struts 2.0的标签(Tag)介绍 ·Struts 2.0的Action讲解 ·Struts2国际化(i18n)您的应用程序 ·Struts2.0转换器(Converter) ·Struts 2.0中实现...
本教程中的"Struts2入门教程.pdf"可能会涵盖以上所有内容,并可能提供详细的步骤指导、实例代码以及常见问题解答。通过阅读这份教程,你应该能够掌握Struts2的基本用法,并具备独立开发基于Struts2的web应用的能力。...
在阅读《Struts2入门教程》时,你将逐步学习如何创建第一个Struts2应用,配置Action,使用拦截器,理解OGNL的工作原理,以及如何利用Struts2的插件和特性来优化你的项目。此外,教程可能还会涵盖如何进行异常处理、...
本入门教程将带你深入了解Struts2的基础知识、核心概念以及实际应用。 1. **Struts2简介** Struts2是Apache软件基金会的一个开源项目,它在Struts1的基础上进行了许多改进,提供了更强大的功能和更高的灵活性。...
通过"Struts2.0中文教程"和"struts2入门教程",学习者可以逐步了解并掌握这些概念,从搭建开发环境、创建第一个Struts2应用开始,到深入理解其工作原理和高级特性,为Java Web开发打下坚实基础。教程中还可能包含...
【Java开发零基础汇道入门教程】是一份详细的Java学习指南,涵盖了从基础到进阶的各个阶段。这个教程分为三个主要阶段:JAVASE阶段、JAVA Web阶段和JAVAEE高级阶段。 **JAVASE阶段**是入门的基础,主要包括以下几个...
2.OGNL入门 24 3.普通方法访问 24 4.静态方法访问 24 5.默认类Math的访问 24 6.调用普通类的构造方法 25 7.集合对象初步 25 8.集合对象进阶 25 9.N语法top语法 26 10.获取Stack Context中的信息 26 11.总结$ # %的...
本教程“Struts2入门经典教程”是针对初学者精心编写的,旨在帮助新手快速掌握Struts2的基础知识,并为有Struts1背景的开发者提供平滑的学习路径。 Struts2的核心特性包括: 1. **Action类与Result**:在Struts2中...
### Struts2入门教程知识点概览 #### 一、Struts2简介 - **起源与发展**:Struts2并非新生事物,而是建立在Struts1和WebWork基础上的一个Web应用框架。它融合了两者的优势,提供了更为强大的功能支持。 - **设计...