私のプロジェクトでは、scala テンプレートと Play 2.0 フレームワークを使用しています。名前(テキストフィールド)、年齢(ドロップダウン)などのフィールドを持つユーザーフォームがあるとしましょう。ユーザーの作成中に、名前を dave と入力し、年齢を 25 と選択しました。
編集画面で、値を事前に入力したいのですが、テキストフィールドでそれを行う方法を知っています(つまり、値をuserForm( 'name')として設定します)が、ドロップダウンはどうですか?どうやってするの。
私のプロジェクトでは、scala テンプレートと Play 2.0 フレームワークを使用しています。名前(テキストフィールド)、年齢(ドロップダウン)などのフィールドを持つユーザーフォームがあるとしましょう。ユーザーの作成中に、名前を dave と入力し、年齢を 25 と選択しました。
編集画面で、値を事前に入力したいのですが、テキストフィールドでそれを行う方法を知っています(つまり、値をuserForm( 'name')として設定します)が、ドロップダウンはどうですか?どうやってするの。
モデルには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>
.
.
.
Shawn Downs と biesior に感謝します。
@select
さて、 scala ヘルパー クラスを使用して、事前に入力された結果を表示できます。お気に入り。
@select(userForm("age"),models.Age.values().toList.map(v => (v.getDisplayName(), v.getDisplayName())),'id->"age")
他のオプションを表示するために、年齢の可能な値の列挙を使用しました。