如何在grails中使用和创建select(combobox)的标记库

时间:2016-04-04 07:28:26

标签: grails enums taglib

我对grails非常陌生,我想要做的是将数据元素从枚举类加载到select(组合框),然后为它创建一个标记库。

标记库类

cpobsn key

枚举类

package feedback
import imocha.project.Feedback
import imocha.project.FeedbackType

class FeedbackTagLib {
   static namespace = "l"

    def enumFeedbackType ={attrs, body ->
        attrs.name = "type"
        attrs.from = "${FeedbackType.values()}"
        out << g.select(attrs.name, attrs.from, attrs.value, attrs.optionKey)
    }
}

我使用此

在GSP中调用了标记库
public enum FeedbackType {
    CLA('Complaint'),
    CLE('Complement'),
    ENQ('Enquiry')

    final String value
    FeedbackType(String value){ this.value = value }

    @Override
    String toString(){ value }
    String getKey() { name() }

}

这是错误

<l:enumFeedbackType value="${feedbackInstance?.type}" optionKey ="key" />

1 个答案:

答案 0 :(得分:0)

这应该有效:

def enumFeedbackType ={attrs, body ->
    attrs.name = "type"
    attrs.from = FeedbackType.values()
    out << g.select(attrs)
}