我已经做了一些研究,但我还没有找到适用于我的案例的工作代码。我有两个变量命名test
和test2
,我想将它们放在一个地图格式[test:valueof(test), test2:valueof(test2)]
通过它的名字作为字符串访问变量值(groovy)
我的一段代码如下:
def test="HELLO"
def test2="WORLD"
def queryText = "\$\$test\$\$ \$\$test2\$\$ this is my test"
def list = queryText.findAll(/\$\$(.*?)\$\$/)
def map = [:]
list.each{
it = it.replace("\$\$", "")
map.putAt(it, it)
}
queryText = queryText.replaceAll(/\$\$(.*?)\$\$/) { k -> map[k[1]] ?: k[0] }
System.out.println(map)
System.out.println(queryText)
输出:
所需输出:
"HELLO WORLD this is my test"
我想,我需要这样的东西map.putAt(it, eval(it))
编辑
这是我得到我输入的方式。代码进入'test'
脚本
右边的那些是脚本中的变量名,左栏是值(稍后将是动态的)
GiLA3,你有机会检查解决方案吗? – Rao
RTFTemplates和Message1中的数据是什么? 'test'中是你现在的groovy脚本吗? – Rao
RTF模板中的数据是不相关的,'query'属性是一个带'$$占位符$$'的字符串,message1只是一个空框,我将返回脚本处理的结果'queryText'。是的脚本在'test' – GiLA3