2

これは、POSTで送信されたデータを取得する必要がある私のコードです。

@play.db.jpa.Transactional
public static Result registered(String fullname, String email, String password, String username) {
    if(fullname.isEmpty()){
        return badRequest("<p>fehlerhafte eingabe!</p>").as("text/html");
    } else {
    User user = new User();
        user.fullname = fullname;
        user.email = email;
        user.password = password;
        user.username = username;
        user.save();

    }

    String success = "Successful registered!";
    return ok(register.render(success));

}

これは私のユーザークラスです:

public class User extends Model {
private static final long serialVersionUID = 1L;
public String fullname;
@Email
public String email;
@Required(message="Username erforderlich!")
public String username;
@Transient @Required
public String password;

public User(){}

public User(String username, String password, String fullname, String email) {
    this.username = username;
    this.password = password;
    this.email = email;
    this.fullname = fullname;
    }

これは私のhtmlです:

    <form method="post" action="@routes.Application.registered()">
            <p id="login_panel">@success</p>
            fullname: <input type="text" name="fullname" id="fullname" value=""/>
            email: <input type="text" name="email" id="email" value=""/>
            username: <input type="text" name="username" id="username" value=""/>
            password: <input type="password" name="password" id="password" value=""/>
            <button type="submit">Register</button>
   </form>

そしてこれは私のルートにあります:

POST     /registered                controllers.Application.registered()   

WSRequestとは何ですか?これが私の問題の手がかりになりますか?

私はどんな助けにも感謝します!どうもどうも

4

2 に答える 2

2

「登録済み」アクションにはパラメーターは必要ありません。

これらのパラメーターはリクエスト内で提供され、組み込みのフォーム バインディングを使用して取得します。

public static Result registered(String fullname, String email, String password, String   username) {

    User user =  form(User.class).bindFromRequest().get();
    ....
}
于 2012-06-23T20:55:05.980 に答える
0

コントローラ クラス コードを確認する必要があります。呼び出されたコントローラー メソッドのパラメーターとしてすべてのフィールド名を指定する必要があります。その後、アプリケーションでこれらのファイルを使用できます。

于 2012-06-23T20:55:17.633 に答える