第 15 章 EL


概述

统一表达式语言(EL)最初被指定为 JSP 2.1 标准(2.5.13.-245)的一部分,但它现在作为独立语言提供。Apache Camel 与 JUEL (http://juel.sourceforge.net/)集成,这是 EL 语言的开源实现。

添加 JUEL 软件包

要在路由中使用 EL,您需要将对 camel-juel 的依赖添加到项目中,如 例 15.1 “添加 camel-juel 依赖项” 所示。

例 15.1. 添加 camel-juel 依赖项

<!-- Maven POM File -->
<properties>
  <camel-version>2.21.0.fuse-750033-redhat-00001</camel-version>
  ...
</properties>

<dependencies>
  ...
  <dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-juel</artifactId>
    <version>${camel-version}</version>
  </dependency>
  ...
</dependencies>

静态导入

要在应用程序代码中使用 el () 静态方法,请在 Java 源文件中包含以下导入语句:

import static org.apache.camel.language.juel.JuelExpression.el;

变量

表 15.1 “EL 变量” 列出使用 EL 时可访问的变量。

表 15.1. EL 变量
变量类型

交换

org.apache.camel.Exchange

当前的交换

in

org.apache.camel.Message

IN 消息

out

org.apache.camel.Message

OUT 消息

示例

例 15.2 “使用 EL 的路由” 显示使用 EL 的两个路由。

例 15.2. 使用 EL 的路由

<camelContext>
  <route>
    <from uri="seda:foo"/>
    <filter>
      <language language="el">${in.headers.foo == 'bar'}</language>
      <to uri="seda:bar"/>
    </filter>
  </route>
  <route>
    <from uri="seda:foo2"/>
    <filter>
      <language language="el">${in.headers['My Header'] == 'bar'}</language>
      <to uri="seda:bar"/>
    </filter>
  </route>
</camelContext>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.