使用SpringWebMVC验证程序类进行java服务器端验证

sbdsn5lh  于 2021-07-05  发布在  Java
关注(0)|答案(3)|浏览(282)

我正在用SpringWebMVC,hibernate开发应用程序。。
现在,我的登录页面配置如下:

<bean name="/uservalidate.htm" class="UserValidateFormController">
        <property name="sessionForm" value="true"/>
        <property name="commandName" value="User"/>
        <property name="commandClass" value="User"/>
        <property name="formView" value="login"/>
        <property name="userSecurityProcessor" ref="IUserSecurityProcessor"/>
         <property name="validator">
            <bean class="LoginValidator"/>
        </property>
        <property name="successView" value="layout.jsp"/>

现在,在从登录页提交之后,控件转到验证程序类,即loginvalidator。。
但是,在那个类中,我没有得到usersecurityprocessor的引用,它为我提供服务器端数据。。
任何人能建议,我如何检查用户名和密码在我的验证器类。。?
提前谢谢。。

s3fp2yjn

s3fp2yjn1#

public void validate(object target,errors errors){user user=(user)target;string username=user.getusername();string password=user.getpassword();………..}

zaqlnxep

zaqlnxep2#

作为一个单独的bean创建一个loginvalidator示例。在loginvalidator中,添加usersecurityprocessor属性。然后在配置文件中注入对iusersecurityprocessor示例的引用,就像上面所做的那样。比如说:

<bean name="loginValidator" class="LoginValidator">
<property name="userSecurityProcessor" ref="IUserSecurityProcessor"/>
</bean>

然后改变

<bean name="/uservalidate.htm" class="UserValidateFormController">
    <property name="sessionForm" value="true"/>
    <property name="commandName" value="User"/>
    <property name="commandClass" value="User"/>
    <property name="formView" value="login"/>
    <property name="userSecurityProcessor" ref="IUserSecurityProcessor"/>
     <property name="validator">
        <bean class="LoginValidator"/>
    </property>
    <property name="successView" value="layout.jsp"/>

<bean name="/uservalidate.htm" class="UserValidateFormController">
    <property name="sessionForm" value="true"/>
    <property name="commandName" value="User"/>
    <property name="commandClass" value="User"/>
    <property name="formView" value="login"/>
    <property name="userSecurityProcessor" ref="IUserSecurityProcessor"/>
     <property name="validator" ref = "loginValidator"/>
    <property name="successView" value="layout.jsp"/>
z3yyvxxp

z3yyvxxp3#

你不能得到 userSecurityProcessor 在验证器中。你唯一能得到的东西就是 commandObject . 你的情况就是这样 User 但是如果你需要的话,那么你必须在验证器中绑定它

<bean id="myValidator" class="LoginValidator">
    <property name="userSecurityProcessor" ref="IUserSecurityProcessor"/>
</bean>

现在,用你的表单绑定这个验证器。

相关问题