Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework play framework:使用列表/映射填充groovy模板中的下拉列表_Playframework - Fatal编程技术网

Playframework play framework:使用列表/映射填充groovy模板中的下拉列表

Playframework play framework:使用列表/映射填充groovy模板中的下拉列表,playframework,Playframework,我正在使用play framework 1.2.3。如何使用groovy模板(语法)用列表/映射中的值填充下拉列表?我在使用CRUD,它会自动完成。但是当你想自己做的时候,我在modules\crud\app\views\tags\crud\relationField.html %{ pName = 'object.' + _name + '.' + play.db.Model.Manager.factoryFor(_field.property.relationType).keyName()

我正在使用play framework 1.2.3。如何使用groovy模板(语法)用列表/映射中的值填充下拉列表?

我在使用CRUD,它会自动完成。但是当你想自己做的时候,我在
modules\crud\app\views\tags\crud\relationField.html

%{ pName = 'object.' + _name + '.' + play.db.Model.Manager.factoryFor(_field.property.relationType).keyName() }%

#{field 'object.' + _name}
    <label for="${field.id}">
        &{_name}
    </label>

        <input type="hidden" name="${pName}" value="" />
        <select id="${field.id}" name="${pName}" multiple="yes">
            %{ _field.choices.each() { }%
            %{
                selected = false;
                if(field.error?.message != 'validation.required') {
                    if(params[pName]) {
                        selected = params.getAll(${pName}).contains(it._key().toString())
                    } else {
                        for (it2 in _value) {
                            if(it2._key() == it._key()) {
                                selected = true;
                            }
                        }
                    }
                }
            }%
            <option value="${it._key()}" ${selected ? 'selected="true"'.raw() : ''}>${it}</option>
            %{ } }%
        </select>
%{pName='object.+\u name+'.+play.db.Model.Manager.factoryFor(\u field.property.relationType).keyName()}%
#{field'对象。'+\u name}
&{{u name}
%{u field.choices.each(){}%
%{
所选=假;
if(field.error?.message!=“validation.required”){
if(参数[pName]){
selected=params.getAll(${pName}).contains(它._key().toString())
}否则{
用于(it2 in_值){
如果(it2.\u key()==it.\u key()){
所选=真;
}
}
}
}
}%
${it}
%{ } }%

我不确定这是否会立即起作用,因为您的控制器没有扩展CRUD。但是,也许它能工作,或者你必须编辑一些东西。

这很有效-希望它能有所帮助

控制器: 提供(物品)

模板: #{列出项目,如:'item'} ${item.value} #{/}