如何使用 Scala 模板和播放框架预填充下拉列表
How to prefill a dropdown using scala template and play framework
我正在为我的项目使用 Scala 模板和 Play 2.0 框架。假设我有一个用户表单,其中包含姓名(文本字段)、年龄(下拉列表)等字段。在创建用户时,我将姓名填写为 dave,并将年龄选择为 25。
现在在我的编辑屏幕上,我希望预先填充我的值,我知道如何使用文本字段来实现(即将值设置为 userForm('name')),但是下拉列表呢?怎么做。
感谢 Shawn Downs 和 biesior。
好吧,我们可以使用 @select
scala helper class 来显示预填充的结果。
喜欢。
@select(userForm("age"),models.Age.values().toList.map(v => (v.getDisplayName(), v.getDisplayName())),'id->"age")
为了显示其他选项,我使用了年龄可能值的枚举。
在您的模型中将有 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>
.
.
.
我正在为我的项目使用 Scala 模板和 Play 2.0 框架。假设我有一个用户表单,其中包含姓名(文本字段)、年龄(下拉列表)等字段。在创建用户时,我将姓名填写为 dave,并将年龄选择为 25。
现在在我的编辑屏幕上,我希望预先填充我的值,我知道如何使用文本字段来实现(即将值设置为 userForm('name')),但是下拉列表呢?怎么做。
感谢 Shawn Downs 和 biesior。
好吧,我们可以使用 @select
scala helper class 来显示预填充的结果。
喜欢。
@select(userForm("age"),models.Age.values().toList.map(v => (v.getDisplayName(), v.getDisplayName())),'id->"age")
为了显示其他选项,我使用了年龄可能值的枚举。
在您的模型中将有 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>
.
.
.