2

PlayFramework2.0.4を使用しています

私のJavaファイルでは、

return ok(views.html.name.render(Name.all(),NameForm));


私のhtmlファイルでは、

@(name: List[Name],NameForm: Form[Name])

@import helperで@selectを使用して、名前配列からのデータにドロップダウンリストを作成したい(プレーンHTMLでselect、optionタグを使用するなど)。_
Playはまったく新しいので、誰かがこれをアーカイブする方法を教えてくれますか? ?
どうもありがとうございます。

4

2 に答える 2

8

これを行う1つの方法は、静的メソッドによって返されるリストとしてオプションを定義することです。

Javaクラスを作成する

public class ComboboxOpts {
    public static List<String> myCustomOptions(){
        List<String> tmp = new ArrayList();

        tmp.add("This is option 1");
        tmp.add("This is option 2");
        tmp.add("This is option 3");
        return tmp;
    }
....
}

HTMLで、ヘルパーをインポートします

@import helper._

試してみてください

 @select(
     myForm("myDropdownId"),
     options = options(ComboboxOpts.myCustomOptions),
     '_label -> "This is my dropdown label",
     '_showConstraints -> false
 )

これを行う別の方法は、カスタムフォームフィールドを定義することです。このリンクを参照してください

@helper.form(action = routes.Application.submit(), 'id -> "myForm") {
    <select>
        <option>This is option 1</option>
        <option>This is option 2</option>
        <option>This is option 3</option>
    </select>
}

これらの質問をする前に、必ず広範囲のGoogle検索を行ってください。チュートリアルや、すでに質問されているのと同じ質問があると確信しています

乾杯

于 2012-10-10T13:02:47.963 に答える
4
Use String in List[String] (in your html) List<String> in your java file.
Or if you want both value and text of drop down to be different like :

    <option value="1">One</option>

Use Map<String, String> instead of List<String> and pass it to @select

    Java file:
    Map<String, String> options = new HashMap<String, String>();
        options.put("1", "One");
        options.put("2", "Two");
    return ok(views.html.name.render(options, NameForm));

    Html:
    @(name: Map<String, String>,NameForm: Form[Name])
于 2013-03-13T09:46:31.310 に答える