- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想存储一个用户可配置的 GString ,该 GString 将绑定(bind)到一个域类,但我在找到一个很好的解决方案时遇到了问题。
示例( 概念/伪/非工作 )
class Person{
...
String displayFooAs; //<-- contains a java.lang.String like '${name} - ${address}'
}
class Foo{
String name;
String address;
String city;
public String getDisplayAs(def person){
return doStuff(this, person.displayFooAs); //<-- Looking for something simple.
}
}
最佳答案
你的意思是像:
public String getDisplayAs(def person){
doStuff( this, person?.displayFooAs ?: "$name - $address" )
}
import groovy.text.SimpleTemplateEngine
class Person {
String displayAs = 'Person $name'
}
class Foo {
String name = 'tim'
String address = 'yates'
String getDisplayAs( Person person ) {
new SimpleTemplateEngine()
.createTemplate( person?.displayAs ?: '$name - $address' )
.make( this.properties )
.toString()
}
}
def foo = new Foo()
assert foo.getDisplayAs( null ) == 'tim - yates'
assert foo.getDisplayAs( new Person() ) == 'Person tim'
关于grails - 使用域类绑定(bind)在运行时评估 GString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13123354/
我有一个这样的字符串 def fileName = "$prefix-$currDate.gz" .gz 是文件的扩展名,而不是属性,我得到的异常是没有这样的属性。 有办法逃脱吗?我试过了\。这没有用
很难说出这里问的是什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或言辞激烈,无法以目前的形式合理回答。如需帮助澄清此问题以便可以重新打开,visit the help center . 10年前关
不应跨越一定数量的字符/行(例如 80 个字符)的 Groovy 错误消息的标准(或最佳实践)是什么? 考虑以下(工作正常) throw new IOException("""\ A
我正在使用 groovy 扩展遗留脚本系统。源脚本是“类 java”的,因此它主要解析为带有少量预处理的 groovy 脚本。 我使用 invokeMethod() 和 missingMethod()
您好,如何使用数据库存储的 GString 定义来动态生成数据。如果代码中定义了格式,我可以使用 GString 来选择行属性 code_format = "${-> row.ACCOUNT} ${-
在“Groovy and Grails recipes”一书中,我使用了以下代码片段: String HelloLanguage = "def hello(language) {return \"He
我在映射中存储了一些 GString,并尝试在运行时评估它们: //this is in begginning of my class or controller or service and is
我尝试使用 gstring 访问嵌套字段,但它抛出异常 groovy.lang.MissingPropertyException 我有两个类 Class Person{ Address addr
我有一个 Groovy 脚本。在 Java 中,我通过 Binding 提供: binding.put( 'a','Hello') 我通过 GroovyShell 运行脚本,结果是: print "$
使用 GStrings 可以访问对象的属性,包括嵌套属性。但是如何访问列表属性中的第 n 个元素呢? class Foo { List elements } class Bar { Stri
我想学习如何在 GString 中转义点,因此 groovy (1.8) 不会将其视为 sql.execute 中变量的一部分。我有以下代码: Map dbSettings = [schemaNa
我有以下代码: def test( name ) { s = ['$','{','n','a','m','e','}'].join() println s instanceof St
Groovy 有一个 GString 的概念。我可以这样写代码: def greeting = 'Hello World' println """This is my first program ${
使用以下代码片段我无法从 map 中检索 gString: def contents = "contents" def gString = "$contents" def map = [(gStrin
我想存储一个用户可配置的 GString ,该 GString 将绑定(bind)到一个域类,但我在找到一个很好的解决方案时遇到了问题。 示例( 概念/伪/非工作 ) class Person{
我们是否有硬性能数据证明单引号相对于双引号的优势?大多数人会更习惯使用双引号。 我知道当我们计算表达式时可以使用GString,并执行惰性计算 最佳答案 这里是 09 年完成的一些测试的链接: htt
如果我只使用 "/home/user/.some/qwe" 而不是 homedir->str,它就可以工作。 struct stat st = {0}; GString* homedir = g_st
我正在阅读 https://groovy-lang.org/closures.html#this 中的 Groovy 闭包文档.有一个关于 GString 行为的问题。 Closures in GSt
这在 GSP 页面中按预期工作: ${Foo.findAllByBar(bar)} 但是当添加收集语句时,代码会中断.. ${Foo.findAllByBar(bar).collect { it.na
我希望有人向我解释为什么以下内容是正确的: def t = "test" assert [test: 1] == ["test": 1] // 1. expected assert ["$t": 1
我是一名优秀的程序员,十分优秀!