问题:
使用play框架处理表单的时候突然遇到 label 属性值显示不了,代码如下:
@helper.inputRadioGroup(baseCountryForm("countryCommonFlag"),options = Seq("1"->Messages("No"),"0"->Messages("Yes")), '_label->"怎么显示不了")
处理过程:
访问
https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/views/helper/inputRadioGroup.scala.html
查看源代码知道什么情况,在inputRadioGroup中label会被转换成name,如下:
接下来现在看看 form 代码
https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/play/api/data/Form.scala
如果我们不指定 label 的情况下,play会用 name 代替 label 的值显示
解决:
label 在 inputRadioGroup中不能显示可以不要指定 label ,让表单自己去找name的值,然而我使用的是 Messages(" ")国际化处理,可以在Messages等信息中添加和name名一样的字段,值就是你要显示的label值即可。(国际化操作可参考我上一篇博客)