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 回答