How to prefill a dropdown using scala template and play framework

爱⌒轻易说出口 提交于 2019-12-03 21:53:44

Thanks Shawn Downs and biesior.

Well, we can use @select scala helper class to show the pre-filled result. like.

 @select(userForm("age"),models.Age.values().toList.map(v => (v.getDisplayName(), v.getDisplayName())),'id->"age")

To show other options I have used an enum of possible values of age.

In your model there will be 2 fields

Model code

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

Controller code

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

userForm.fill(user);
.
.
.

Util code

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;
    }
}

View code

.
.
.
<form>
@helper.inputText(userForm("name"))
@helper.select(userForm("age"),
                helper.options(utils.DropdownUtils.getAgeList(25)))
</form>
.
.
.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!