Struts 2 xml无法正常工作。验证未发生

时间:2018-12-11 14:47:52

标签: validation struts2 struts

这是我的控制器Login.java

import com.opensymphony.xwork2.ActionSupport;

public class Login extends ActionSupport {

    private String userName;
    private String password;

    public Login() {
    }

    public String execute() {
        return SUCCESS;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

这是我的Login-Validation.xml

<?xml version="1.0"?>
<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.3//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

<validators>
    <field name="userName">
        <field-validator type="requiredstring">
            <message>User Name is required.</message>
        </field-validator>
    </field>
    <field name="password">
        <field-validator type="requiredstring">
            <message key="password.required" />
        </field-validator>
    </field>
</validators>

这是我的struts.xml

<action name="NewLogin">
    <result>login.jsp</result>
</action>
<action name="LoginAction" class="com.strut.Login">
    <result name="success">success.jsp</result>
    <result name="input">fail.jsp</result>
</action>

我正在使用struts2-core 2.5.16作为Maven插件。

问题是控制器未考虑我的validation.xml。它直接传递给execute方法并转到成功页面。

我已将控制器和验证xml放在同一软件包中。

有人可以帮我吗?预先感谢。

1 个答案:

答案 0 :(得分:1)

您的名为“ Login-Validation.xml”的文件错误。
解决方案:
1.验证xml文件应命名为“ Login-validation.xml”。
2. <result name="input" >fail.jsp</result>已更改为<result name="input" >login.jsp</result>。这样会更好,更合乎逻辑。