Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring休眠字段拒绝值_Java_Spring_Hibernate_Spring Mvc - Fatal编程技术网

Java Spring休眠字段拒绝值

Java Spring休眠字段拒绝值,java,spring,hibernate,spring-mvc,Java,Spring,Hibernate,Spring Mvc,我有一份非常简单的登记表。我很难理解为什么我的密码字段拒绝值。也许我没有正确设置我的用户bean?我有两个密码字段,一个是用户输入的,encryptedPassword使用“org.springframework.security.crypto.password.PasswordEncoder;”来加密密码 我使用的是SpringMVC4.x和Hibernate5.x register.jsp <sf:form id="registerForm" method="POST" action=

我有一份非常简单的登记表。我很难理解为什么我的密码字段拒绝值。也许我没有正确设置我的用户bean?我有两个密码字段,一个是用户输入的,encryptedPassword使用“org.springframework.security.crypto.password.PasswordEncoder;”来加密密码

我使用的是SpringMVC4.x和Hibernate5.x

register.jsp

<sf:form id="registerForm" method="POST" action="${pageContext.request.contextPath}/register/user" commandName="user">
...
<label for="password">Password: </label>
<sf:input type="text" id="password" name="password" path="password"/>
<sf:errors path="password" cssClass="password"></sf:errors>

<label for="confirmPassword">Confirm Password: </label>
<input type="text" id="confirmPassword" name="confirmPassword"/>
<span class="confirmCheck"></span>
....
<input type="submit" value="Submit">
</sf:form>
这是我的实际错误消息

[Field error in object 'user' on field 'password': rejected value [12345678]; codes [methodInvocation.user.password,methodInvocation.password,methodInvocation.java.lang.String,methodInvocation]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.password,password]; arguments []; default message [password]]; default message [Property 'password' threw exception; nested exception is java.lang.NullPointerException], Field error in object 'user' on field 'encryptedPassword': rejected value [null]; codes [NotBlank.user.encryptedPassword,NotBlank.encryptedPassword,NotBlank.java.lang.String,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.encryptedPassword,encryptedPassword]; arguments []; default message [encryptedPassword]]; default message [may not be empty]]

你什么时候得到这个例外?在表格上提交?关于持久化到数据库?似乎密码编码器没有正确注入。我认为编码器应该在DAO中,而不是实体本身,但这是我的观点。请参考此链接以在spring中进行验证@我做了一些测试。。。实际上,在表单提交后,再将my encryptedPassword=null持久化到db。但是在我的setPassword方法中,我实际上调用了这个。setEncryptedPassword(password)@RubioRic humm我实际上将编码器移动到了DAO,正如您所建议的那样,它现在可以工作了。但我所拥有的东西有什么问题使它不起作用?你什么时候得到这个例外?在表格上提交?关于持久化到数据库?似乎密码编码器没有正确注入。我认为编码器应该在DAO中,而不是实体本身,但这是我的观点。请参考此链接以在spring中进行验证@我做了一些测试。。。实际上,在表单提交后,再将my encryptedPassword=null持久化到db。但是在我的setPassword方法中,我实际上调用了这个。setEncryptedPassword(password)@RubioRic humm我实际上将编码器移动到了DAO,正如您所建议的那样,它现在可以工作了。但我所拥有的东西有什么问题,使它无法工作?
[Field error in object 'user' on field 'password': rejected value [12345678]; codes [methodInvocation.user.password,methodInvocation.password,methodInvocation.java.lang.String,methodInvocation]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.password,password]; arguments []; default message [password]]; default message [Property 'password' threw exception; nested exception is java.lang.NullPointerException], Field error in object 'user' on field 'encryptedPassword': rejected value [null]; codes [NotBlank.user.encryptedPassword,NotBlank.encryptedPassword,NotBlank.java.lang.String,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [user.encryptedPassword,encryptedPassword]; arguments []; default message [encryptedPassword]]; default message [may not be empty]]