首页 > 解决方案 > 多行 Groovy 字符串中的字符串插值

问题描述

我有一个多行字符串,我在其中从地图动态填充 SQL 查询。我收到一个 MissingPropertyException,这是由于查询无法识别映射键或值的结果。有没有解决的办法?

def multiString = """
def person = ['John': 'Builder']

person.each{ key, value ->

String query = """ UPDATE person SET value = '${value}' 
                   WHERE name = '${key}' """ } 
 """

标签: groovystring-interpolation

解决方案


我想到了。我需要使用反斜杠来转义 $。

def multiString = """
  def person = ['John': 'Builder']

  person.each{ key, value ->

  String query = """ UPDATE person SET value = '\${value}'
                     WHERE name = '\${value}' """ } 
"""

推荐阅读