如何使用Grails从message.properties文件中读取数据来生成下拉列表?我已经创建了域文件:
class Feedback {
enum Type {
COMPT("compt") ,
COMPL("compl") ,
ENQ("enq")
final String typeID
Type (String typeID){
this.typeID = typeID
}
String toString(){
typeID
}
}
static constraints = {
typeID inList: Type.values()*.typeID
}
}
这是我存储在message.properties文件中的数据
type.compt=Complaint
type.compl=Compliment
type.enq=Enquiry
如何使用taglib在GSP中显示信息?
答案 0 :(得分:0)
要根据给定参数获取消息,可以使用
compile
从枚举列表生成下拉列表基本上完成如下:
<g:message code="type.${passedFeedbackType}" />
但是您希望将属性消息作为值。您也可以使用taglib中的<g:select name="yourList" value="${value_you_want_to_have_first}"
from="${Feedback.Type.values()}" optionValue="${it}"
optionKey="typeId"/>
作为
message
所以问题的解决方案就是,例如
${g.message(code:'your.message.code')}
因为某种程度上我无法使用<select>
<g:each in="${Feedback.Type.values()}" var="feedbackType">
<option value="${type}">${g.message(code:"type.${type}")}</option>
</g:each>
</select>
,但最终它还会生成纯HTML。
请记住在属性中包含所有相应的消息。