Groovy   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了什么函数用于格式化/替换Grails / Groovy中字符串中的{0} {1}参数?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始使用Groovy / Grails

我注意到您在验证表单时收到的错误消息如下所示:

Property [{0}] of class [{1}] cAnnot be blank

例如,此代码错误转储到控制台

s.errors.allErrors.each
        {
            println it.defaultmessage
        }

现在,it.arguments包含需要填写的参数.

问题是,我在Grails或Groovy文档中找不到基于位置参数(如{0},{1})格式化字符串并替换数组值的方法

我需要类似python的%

格式化这些错误字符串的正确方法是什么,以便正确替换参数?

解决方法

实际上使用标准java.text.messageformat API替换这些标记.如果您使用Grail的g:message标签显示消息,如果您传递了合适的args =“…”属性,它将填补空白:

<g:message code="mymessagecode" args="${['size','org.example@L_213_12@mething']}"/>

在某些情况下(在GSP页面内和来自控制器IIRC),你可以像操作一样调用标签

g.message(code:'mymessagecode',args: ['size','org.example@L_213_12@mething'])

请注意,作为消息代码提供的值只是一个符号字符串常量.框架将使用Spring的可重新加载资源包读取实际转换(其中包含“gap”的消息文本).

如果您实际拥有的只是翻译文本,则可以直接调用消息格式化API.参见例如:

import java.text.messageformat

...

args = ["english"].toArray()
println(messageformat.format("Translation into {0}",args))

// Or - as the method is variaDic:
println(messageformat.format("Translation into {0}","english"))

大佬总结

以上是大佬教程为你收集整理的什么函数用于格式化/替换Grails / Groovy中字符串中的{0} {1}参数?全部内容,希望文章能够帮你解决什么函数用于格式化/替换Grails / Groovy中字符串中的{0} {1}参数?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。