小编Jim*_*ugh的帖子

Groovy:使用string作为路径设置动态嵌套方法

我有一个对象内对象的路径,我想使用Groovy的动态能力来设置它.通常只需执行以下操作即可:

class Foo {
  String bar
}


Foo foo = new Foo
foo."bar" = 'foobar'
Run Code Online (Sandbox Code Playgroud)

这很好用.但是如果你有嵌套对象怎么办?就像是:

class Foo {
  Bar bar
}

class Bar {
  String setMe
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用动态设置,但是

Foo foo = new Foo()
foo."bar.setMe" = 'This is the string I set into Bar'
Run Code Online (Sandbox Code Playgroud)

返回MissingFieldException.

任何提示?

更新:感谢Tim指出我正确的方向,那里的初始代码非常适合检索属性,但我需要使用路径字符串设置值.

这是我从Tim建议的页面中得到的结果:

  def getProperty(object, String propertyPath) {
    propertyPath.tokenize('.').inject object, {obj, prop ->
      obj[prop]
    }
  }

  void setProperty(Object object, String propertyPath, Object value) {
    def pathElements = propertyPath.tokenize('.')
    Object parent = getProperty(object, pathElements[0..-2].join('.'))
    parent[pathElements[-1]] = …
Run Code Online (Sandbox Code Playgroud)

groovy dynamic

5
推荐指数
1
解决办法
1817
查看次数

使用省略号与SVG的TSPAN?

我有一个页面,我们使用SVG来呈现序列图.所表示的一些数据有可能偶尔会很长,所以我想限制TSPAN元素的宽度并提供省略号,同时允许用户将鼠标悬停在文本上并显示全文.

最初我尝试将CS​​S与text-overflow属性结合使用,方法是将值设置为"省略号",这是我正在寻找的确切行为,但它没有可用的功能(大笨蛋)还有其他任何方式限制文本的长度并允许在诸如悬停的动作上显示全文?

svg tspan

4
推荐指数
1
解决办法
2398
查看次数

标签 统计

dynamic ×1

groovy ×1

svg ×1

tspan ×1