Playframework 在重头戏2.3.3中,实体必须已设置?
在重头戏2.1.1中,entity Login.java:Playframework 在重头戏2.3.3中,实体必须已设置?,playframework,playframework-2.3,Playframework,Playframework 2.3,在重头戏2.1.1中,entity Login.java: public class Login { @NotBlank(message = "login account cannot be empty") public String mobile; @NotBlank(message = "login password cannot be empty") public String password; public Integer ownInnId;
public class Login {
@NotBlank(message = "login account cannot be empty")
public String mobile;
@NotBlank(message = "login password cannot be empty")
public String password;
public Integer ownInnId;
public InnAdmin admin;
public String token;
}
但在游戏2.3.3中,有错误的帖子:
play.api.Application$$anon$1:执行异常[[IllegalStateException:JSR-30]
3已验证属性“密码”没有相应的数据访问器
绑定-检查DataBinder的配置(bean属性与direct fie)
[ld access]
在play.api.Application$class.handleError(Application.scala:296)~[play_
2.11-2.3.3.罐子:2.3.3]
play.api.DefaultApplication.handleError(Application.scala:402)[play_
2.11-2.3.3.罐子:2.3.3]
在play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun
$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320)[play_2.11-2.3.3.jar:
2.3.3]
在play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun
$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320)[play_2.11-2.3.3.jar:
2.3.3]
在scala.Option.map(Option.scala:145)[scala-library-2.11.2.jar:na]
原因:java.lang.IllegalStateException:JSR-303已验证属性的密码
'没有相应的数据绑定访问器-请检查您的DataInde
r的配置(bean属性与直接字段访问)
在play.data.Form.bind(Form.java:349)~[play-java_2.11-2.3.3.jar:2.3.3]
在play.data.Form.bindFromRequest(Form.java:221)~[play-java_2.11-2.3.3。
jar:2.3.3]
在controllers.Application.spLogin(Application.java:295)~[classes/:na]
在Routes$$anonfun$Routes$1$$anonfun$applyOrElse$132$$anonfun$apply$132。
应用(routes\u routing.scala:3309)~[classes/:na]
在Routes$$anonfun$Routes$1$$anonfun$applyOrElse$132$$anonfun$apply$132。
应用(routes\u routing.scala:3309)~[classes/:na]
原因:org.springframework.beans.NotReadablePropertyException:无效属性
bean类[bean.vo.Login]:bean属性“password”未重新设置
adable或具有无效的getter方法:getter的返回类型是否匹配
setter的参数类型?
位于org.springframework.beans.BeanWrapperImpl.getPropertyValue(beanwrape
java:725)~[spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE]
位于org.springframework.beans.BeanWrapperImpl.getPropertyValue(beanwrape
java:716)~[spring-beans-4.0.3.RELEASE.jar:4.0.3.RELEASE]
位于org.springframework.validation.AbstractPropertyBindingResult.getActua
lFieldValue(AbstractPropertyBindingResult.java:99)~[spring-context-4.0.3.RELEAS
E.jar:4.0.3.RELEASE]
位于org.springframework.validation.AbstractBindingResult.rejectValue
ractBindingResult.java:108)~[spring-context-4.0.3.RELEASE.jar:4.0.3.RELEASE]
在play.data.Form.bind(Form.java:343)~[play-java_2.11-2.3.3.jar:2.3.3]
[错误]应用程序-播放OneError…POST/spLogin执行异常[[IllegalS]
tateException:JSR-303验证的属性“密码”没有对应的I
ng数据绑定访问器-检查DataBinder的配置(bean属性
rty与直接现场访问)]]
在重头戏2.3.3中,如果您的问题是:
在重头戏2.3.3中,当使用Ebean时,模型的每个属性都必须有getter和setter吗
答案是否定的。拥有公共字段就足以让ebean工作。你不需要getter和setter,拥有公共字段就足够了
您的问题在于注释:您应该使用
@Required
。Play不会强制您定义getter/setter。您可以声明并使用它们,也可以直接访问公共字段
在后台,Ebean仍将在编译后创建getter/setter,因此您将无法在代码中使用它们
关于错误,请尝试清理项目,然后重新编译:
$ play clean-all
$ play compile
Play Framework版本为2.3.8
activator clean
activator clean-files
这个错误与Ebean无关。这是Spring数据绑定。我现在面临着同样的问题,但还不能解决它。