0

私のプロジェクトでは、scala テンプレートと Play 2.0 フレームワークを使用しています。名前(テキストフィールド)、年齢(ドロップダウン)などのフィールドを持つユーザーフォームがあるとしましょう。ユーザーの作成中に、名前を dave と入力し、年齢を 25 と選択しました。

編集画面で、値を事前に入力したいのですが、テキストフィールドでそれを行う方法を知っています(つまり、値をuserForm( 'name')として設定します)が、ドロップダウンはどうですか?どうやってするの。

4

2 に答える 2

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>
.
.
.
于 2015-05-11T12:27:00.567 に答える
0

Shawn Downs と biesior に感謝します。

@selectさて、 scala ヘルパー クラスを使用して、事前に入力された結果を表示できます。お気に入り。

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

他のオプションを表示するために、年齢の可能な値の列挙を使用しました。

于 2015-05-11T10:48:47.017 に答える