Struts2_bundle validation.xml无法正常工作

时间:2014-11-09 12:02:03

标签: xml struts2

嘿伙计们,我是Struts 2&的新手。我无法找到我的错误。我已经看到类似的问题,但直到现在我都没有成功。

我正在使用bundle_validators在Struts2中进行验证,但问题是当我执行程序时,RUNTIME没有验证。

  

我的豆子& validation.xml位于src / actions包中 -

我的ActionLogin.java

package actions;

import com.opensymphony.xwork2.ActionSupport;

public class ActionLogin extends ActionSupport {

    private String name,email,password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

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

    public String execute(){

        return "success";
    }




}

注册-validation.xml中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">




<validators>
<field name="name">
    <field-validator type="requiredstring">
    <param name="trim">true</param>
       <message>User Name is required.</message>
    </field-validator>
</field>

<field name="email">
    <field-validator type="requiredstring">
    <param name="trim">true</param>
       <message>Email is required.</message>
    </field-validator>
</field>

</validators>

我的struts.xml位于WEB-INF / classes目录

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD  
Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">  



<struts>



<include file="struts-default.xml"/>

<constant name="struts.devMode" value="true" />
<package name="actions" namespace="/" extends="struts-default">

<action name="register" class="actions.ActionLogin" method="execute">



<result name="success">/welcome.jsp</result>
<result name="input">index.jsp</result>

</action>

</package>


</struts>

我的index.jsp文件是

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    <%@taglib uri="/struts-tags" prefix="s" %>
    <%@taglib uri="/struts-dojo-tags" prefix="d" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<STYLE type="text/css">  
.errorMessage{color:red;}  
</STYLE>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>



</head>
<body>

<s:form action="register">
<s:textfield name="name" label="name"></s:textfield>
<s:password name="password" label="Password"></s:password>
<s:textfield name="email" label="Email"></s:textfield>
<s:submit value="login"></s:submit>

</s:form>

</body>
</html>

请帮我找出我的错误。谢谢你提前

1 个答案:

答案 0 :(得分:1)

您必须将验证xml文件的名称更改为:ActionLogin-validation.xml
用于验证的Struts2约定类似于ActionClass.java的ActionClass-validation.xml。
两个文件(.java和.xml)必须位于同一个包中

在您的情况下,操作class是:ActionLogin.java,因此验证文件必须是ActionLogin-validation.xml