所以我有这个tagLib;
def trimTo = { attrs, body ->
int length = attrs.int('length')
String text = body()
if (text.size() > length) {
text = text.substring(0, length - 1) + '...'
}
out << text
}
通常我会像这样使用它;
<g:trimTo length="50">${fieldValue(bean: fooInstance, field: "textEng")}</g:trimTo>
一切都很好。
但是我想用g:select标签来表示它;
<g:select name="phrases" from="${Foo.list()}" optionValue="${{it.textEng}}" multiple="multiple" optionKey="id" size="25" value="${fooParentInstance?.children*.id}" class="many-to-many"/>
具体来说,我想用它来缩短optionValue属性显示的内容,{it.textEng}的结果。
我尝试了几种不同的组合,似乎无法弄清楚正确的语法。
提前感谢您的任何帮助。
*编辑拼写
答案 0 :(得分:1)
管理来计算它,主要是通过试验和错误,只需要一点点的阅读和推理就可以了。
optionValue="${{g.trimTo([length: 50], it.textEng)}}"
全心全意,