如何通过${a${b}}的方式扩展属性名或属性值
2018-01-04 17:30
141 查看
一、概述
默认情况下,Ant是不支持属性值的嵌套括号的解析的。但是可以通过其他一些变通方式来达到目的。二、解决方法
假设构建文件中已经存在名称为a值为A的属性,希望类似${a${B}}的方式进行属性的设置。设置后的属性名为AB,值为ab。有如下几种方法:通过<script/>设置属性值
<script language="javascript"> propa = project.getProperty("a"); project.setNewProperty(propa+"B", "ab"); </script>
Ant1.6以上版本可以通过<macrodef/>设置属性值
<macrodef name="test"> <attribute name="name"/> <attribute name="value"/> <sequential> <property name="${@{name}}B" value="@{value}"/> </sequential> </macrodef> <test name="a" value="ab"/>
通过第三方插件Flaka读取属性值
<project xmlns:fl="antlib:it.haefelinger.flaka"> <fl:install-property-handler/> <property name="foo" value="foo.value"/> <property name="var" value="foo" /> <property name="buildtype" value="test"/> <property name="appserv_test" value="//testserver"/> <echo> #{${var}} = foo.value <!-- nested property --> #{appserv_${buildtype}} </echo> </project>
相关文章推荐
- 转:zTree高级入门:如何通过扩展节点的属性来达到是否显示节点的删除编辑等图标(按钮)
- 思考一个问题:如何将map里面的值,映射到一个对象里的属性,不通过手动方式设置!!!
- 如何通过样式来处理根据自身其他属性内容赋值其他属性值的方法研究
- Spring如何通过注解方式注入静态属性
- 如何通过修改快捷方式目标属性加载插件
- Flex中如何通过liveScrolling属性,创建立现滚动方式的TextArea控件
- java中如何通过JDBC的方式连接sqlserver2005多实例数据库?
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- GDAL更新至1.8.1后,通过属性查询矢量出错问题的解决方式
- CSS可以通过简写的方式来减少带宽的占用,比如属性值的简写、16进制颜色的简写
- table数据如何通过ajax方式加载?
- 如何通过java反射的方式对java私有方法进行单元测试
- 如何: 通过HTML文档对象模型访问文档中的ActiveX控件的属性
- Spring通过@Value注解注入属性的几种方式
- 详解Spring通过@Value注解注入属性的几种方式
- 如何通过HTTPS(SSL加密)方式访问webservice
- C#如何通过Socket的方式获取httponly cookie
- C#如何通过SOCKET的方式获取HTTPONLY COOKIE
- 如何通过SecureCRT中命令方式上传文件到LINUX上
- Object get["属性"]; java反射技术通过对象和属性名得到属性值