如何使用scala模板和播放框架预填充下拉列表

时间:2015-04-01 11:08:22

标签: scala playframework scala-template

我正在为我的项目使用scala模板和Play 2.0框架。假设我有一个用户表单,其中包含名称(文本字段),年龄(下拉列表)等字段。在创建用户时,我将名称填充为dave,并选择年龄为25。

现在在我的编辑屏幕上,我想要预填充我的值,我知道如何使用textfield(即将值设置为userForm('name'))但是下拉列表怎么样?怎么做。

2 个答案:

答案 0 :(得分:0)

感谢Shawn Downs和biesior。

好吧,我们可以使用Model scala帮助程序类来显示预填充结果。 等。

@select

为了显示其他选项,我使用了可能的年龄值的枚举。

答案 1 :(得分:0)

在您的模型中将有2个字段

型号代码

Class User{
   public String name;
   public int age;
}

控制器代码

.
.
.
Form<User> userForm = Form.form(User.class);
User user = new User();
user.name = "Albert";
user.age = 19;

userForm.fill(user);
.
.
.

使用代码

package utils;

import java.util.HashMap;
import java.util.LinkedHashMap;

public class DropdownUtils {

    public static HashMap<String, String> getAgeList(int ageLimit){
        LinkedHashMap<String, String> ageList = new LinkedHashMap<>();

        for(Integer i=0; i<=ageLimit; i++){
            ageList.put(i.toString(), i.toString());
        }

        return ageList;
    }
}

查看代码

.
.
.
<form>
@helper.inputText(userForm("name"))
@helper.select(userForm("age"),
                helper.options(utils.DropdownUtils.getAgeList(25)))
</form>
.
.
.