Java EL系列-2.JUEL快速入门

  inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish

)。本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/guide/start.html

快速入门

  JUEL

发行版包含下面一些jar文件:(来源:http://blog.csdn.net/inkfish)

  1.juel-api-2.2.x.jar

——包含javax.el

包下的一些类

  2.juel-impl-2.2.x.jar

——包含de.odysseus.el

实现类

  3.juel-spi-2.2.x.jar

——包含META-INF/service/javax.el.ExpressionFactory

服务提供资源的定义(如果你的classpath里有多个EL的实现,而你又希望使用JUEL的实现,那么需要调用ExpressionFactory.newInstance()

  4.juel-2.2.x.jar

——包含java.el

包下的类,并且包含de.odysseus.el

下的实现类,而且还有服务提供接口(spi)

  也就是说:juel-2.2.x.jar = juel-api-2.2.x.jar + juel-impl-2.2.x.jar + juel-spi-2.2.x.jar

。(来源:http://blog.csdn.net/inkfish)

  下面是所有你在你的应用中使用EL所需要的(假设你已经把juel-2.2.x.jar

放到classpath下,并且导入了javax.el.*

):(来源:http://blog.csdn.net/inkfish)

  1.工厂和上下文(来源:http://blog.csdn.net/inkfish)

//ExpressionFactory类的实现是de.odysseus.el.ExpressionFactoryImpl
ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
//de.odysseus.el.util provides包提供即时可用的子类ELContext
de.odysseus.el.util.SimpleContext context = new de.odysseus.el.util.SimpleContext();

  2. 函数和变量(来源:http://blog.csdn.net/inkfish)

//设置map函数math:max(int, int)使用java.lang.Math.max(int, int)
context.setFunction("math", "max", Math.class.getMethod("max", int.class, int.class));
//map变量foo设置为0
context.setVariable("foo", factory.createValueExpression(0, int.class));

  3. 解析和求值(来源:http://blog.csdn.net/inkfish)

//解析表达式
ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", int.class);
//设置顶级的属性"bar"值为1
factory.createValueExpression(context, "${bar}", int.class).setValue(context, 1);

时间: 2024-08-03 22:59:50

Java EL系列-2.JUEL快速入门的相关文章

Java EL系列-1.JUEL简介

inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/ JUEL 是统一表达式语言(Unified Expression Language , EL )的一个实现,是JSP 2.1 标准(JSR-245 )的一部分,已经作为Java EE 5 的一部分,并且,JUEL 2.2实现了JSP 2.2 发行版,与Java

【java开发系列】—— struts2简单入门示例

原文:[java开发系列]-- struts2简单入门示例 上篇推荐:JDK安装 前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码. 过去,我们用jsp和servlet搭配,实现展现时,答题的过程是: 1 jsp出发action 2 servlet接受action,交给后台c

【java开发系列】—— struts2简单入门

前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码. 过去,我们用jsp和servlet搭配,实现展现时,大体的过程是: 1 jsp触发action 2 servlet接受action,交给后台class处理 3 后台class跳转到其他的jsp,实现数据展现 现在有了stru

Gradle学习系列之一——Gradle快速入门(转)

  这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构建多个Project 自定义Task类型 自定义Plugin   请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git     和Maven一样,Gradle只是提供了构建项目的一

Java EL系列-3.1.JUEL表达式工厂

inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/guide/basic/factory.html .说实话,这篇翻译的的确不怎样. 表达式工厂(Expression Factory) 如果要使用EL ,就必须要有一个javax.el.ExpressionFactory 的实例.表达式工厂用于创建多种类型的表达式

Java EL系列-3.0.JUEL基本类

inkfish翻译,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).本文是我学习JUEL同时,对原网站进行的简单的翻译,原网站地址:http://juel.sourceforge.net/guide/basic/index.html . 基本类(Basic Classes) 这一部分过一下JUEL提供的具体的一些类,这些类组成了计算过程的核心:它们组成了表达式的工厂和变量. 我们并不说明内部的行为,这些行为已经在超类API中描述了.并且,我们更注重

Java加密和数字签名编程快速入门

本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用.对密码学有兴趣的伙伴,推荐看Bruce Schneier的著作:Applied Crypotography.在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文仅是作为简单介绍): 一.密码学上常用的概念 1)消息摘要: 这是一种与消息认证码结合使用以确保消息完整性的技术.主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前

Java开源项目Hibernate快速入门

快速入门|项目   Java开源项目Hibernate快速入门其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss.这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性. 在这篇文章将不涉及Eclipse, log4j, Str

老康:Java开源项目Hibernate快速入门

快速入门|项目 作者:老康 其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss.这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性. 在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoc