gpt4 book ai didi

playframework-2.0 - 从绑定(bind)空对象 : RuntimeException: java. lang.reflect.InvocationTargetException

转载 作者:行者123 更新时间:2023-12-03 17:56:54 26 4
gpt4 key购买 nike

我正在继续学习 Play 2.0,并且正在开发 登录表格 .基本上与 Zentasks 提供的示例项目类似的形式......

我的问题是在数据库中找不到用户时的错误消息,错误发生在以下行:

Form<Login> loginForm = form(Login.class).bindFromRequest();

我的模型看起来像:
@Entity
public class Person extends Model {

@Constraints.Required
public String password;

@Constraints.Required
public String email;

// -- Queries

public static Model.Finder<String, Person> find = new Model.Finder(String.class, Person.class);

/**
* Authenticate a User.
*/
public static Person authenticate(String email, String password) {
Logger.info("email: " + email + " and password is:" + password);
return find.where().eq("email", email).eq("password", password).findUnique();
}

/**
* Retrieve all users.
*/
public static List<Person> findAll() {
return find.all();
}

// --

}

我的 Controller 看起来像:
/**
* Handle login form submission.
*/
public static Result authenticate() {
play.Logger.info("Entering authenticated method...");

Form<Login> loginForm = form(Login.class).bindFromRequest(); //ERROR OCCURS HERE

if (loginForm.hasErrors()) {
return badRequest(views.html.login.render(loginForm));
} else {
session("email", loginForm.get().email);
return redirect(routes.LandingPage.index());
}
}

我在 Application.java 中的登录类:
public static class Login {

public String email;
public String password;

public String validate() {
Logger.info("Entering validation in class login... " + email + " " + password);
if (Person.authenticate(email, password) == null) {
return "Invalid user or password";
}
return null;
}
}

顺便说一句,我使用 mySql 作为我的数据库。而且我有一个有效的用户,代码工作得很好......

2012 年 4 月 17 日更新

如果您在 Play2.0 中遇到过奇怪的事情,请仔细调试。我来自 PHP,我尝试使用 sysouts 进行调试!但这不行。运行 Play 调试运行然后按 F6 直到你知道哪里出错了!

就我而言,我正在记录一些尚未保存在数据库中的东西,实际上它还不存在!

最佳答案

这是一个错字吗( 静态 部分)?

public static class Login {
}

如果不是这可能是原因。 AFAIK Form 类必须是 POJO。

关于playframework-2.0 - 从绑定(bind)空对象 : RuntimeException: java. lang.reflect.InvocationTargetException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com