Java Playframework 2.2:IllegalStateException:调用bindFromRequest时没有值

Java Playframework 2.2:IllegalStateException:调用bindFromRequest时没有值,java,playframework,Java,Playframework,在PlayFramework2.2.x中,我在尝试将表单数据绑定到pojo时遇到了这个错误 IllegalStateException: No value 下面是我的示例代码: Form<OrderRequest> form = new Form<OrderRequest>(OrderRequest.class); final OrderRequest orderRequest = form.bindFromRequest().get(); formform=新表单

在PlayFramework2.2.x中,我在尝试将表单数据绑定到pojo时遇到了这个错误

IllegalStateException: No value 
下面是我的示例代码:

Form<OrderRequest> form = new Form<OrderRequest>(OrderRequest.class);
final OrderRequest orderRequest = form.bindFromRequest().get();
formform=新表单(OrderRequest.class);
final OrderRequest OrderRequest=form.bindFromRequest().get();
这篇文章旨在为遭受类似问题的人留下线索


我稍后会亲自回答

我想知道是什么导致了这个问题,所以我决定找出可能触发这个问题的参数

public class OrderRequest {
  private Integer num;
  private Boolean isAdmin;
  private String name;

  ....

}
以下是OrderRequest的结构:

public class OrderRequest {
  private int num;
  private boolean isAdmin;
  private String name;

  ....

}
我能够将它缩小到两个参数,结果是当输入参数[num]为null时,它不能将null识别为类型int,参数[isAdmin]也不能识别为类型boolean因为它们是原始数据类型,所以不是可为null的类型。

为了避免这种情况,我建议始终检查每个参数的类型,确保设置值与类型匹配

如前所述,基本数据类型不是可为空的类型。

您可以做的一件事是将原始数据类型替换为,它将解决此问题

public class OrderRequest {
  private Integer num;
  private Boolean isAdmin;
  private String name;

  ....

}