arc:import
Version 24.3.9111
arc:import
arc:import 关键字允许在有多个库可用时,选择正确的版本。除此之外,还允许将特定版本绑定到命名空间前缀上。
可以使用 arc:import 从全局程序集缓存(GAC)或 classpath 之外导入库。
端口版本
arc:import 关键字允许加载多个版本,然后显式地选择使用哪个版本。
-
对于 .NET 版本,可以将端口和格式化器集放到 GAC 中并使用 arc:import 在脚本中加载要使用的版本。
-
对于跨平台版本,可以将端口和格式化器 JAR 文件放到常规的 classpath 外(例如,WEB-INF/lib 文件夹下的一个子目录),从而提供了一种方法来保留同一 JAR 的多个并发版本。然后可以使用 arc:import 关键字来选择要加载的 JAR 文件。
名称简化
arc:import 关键字也可以帮助简化运算器或格式化器的名称。例如,当自定义的格式化器需要完整的类名称时,可以使用 arc:import 在完整的类名称前加上一个较短的名称作为前缀。
参数
- lib:要导入库的名称。在 .NET 版本中,这指定了程序集名称(最好是完全限定的名称)。在 Java 版本中,它指定了 JAR 文件的路径。
- ns:运算器或格式化将被绑定到的命名空间。在查找过程中,指定的命名空间将被赋予优先级。如果没有指定,将会使用常规规则去查找实现类。
- prefix:使用相同名称但在不同库,不同命名空间或两者中实现的运算器或格式化器时,用于避免名称冲突的前缀。除此参数外,还必须指定 ns 属性。
控制属性
无
示例
加载 2.0 版本的库:
<arc:import lib="myops, Version=2.0.0.0" ns="MyCompany.MyOps" prefix="my2"/>
<arc:call op="my2.Operation" ...>
应用在 CustomFormatters.jar
中定义的一个自定义 count
格式化器:
<arc:import lib="CustomFormatters.jar" ns="com.mycompany.Formatters" prefix="cust"/>
<arc:set attr="size" value="[elem.number | cust.count]"/>