Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 Struts2验证问题_Java_Jsp_Validation_Struts2_Themes - Fatal编程技术网

Java Struts2验证问题

Java Struts2验证问题,java,jsp,validation,struts2,themes,Java,Jsp,Validation,Struts2,Themes,我试图使用Struts2 validations注释验证表单,但它似乎不起作用,并且在标签上没有显示所需的标记。 这是我的密码: login.jsp: <s:form action="/Login" validate = "true"> <table> <tr> <td><s:label theme=”simple” required="true">Username :</s:label></

我试图使用Struts2 validations注释验证表单,但它似乎不起作用,并且在标签上没有显示所需的标记。 这是我的密码:

login.jsp

 <s:form  action="/Login"  validate = "true">    
<table>
  <tr>
    <td><s:label theme=”simple” required="true">Username :</s:label></td>
    <td><s:textfield name="userName" theme=”simple” /></td>
  </tr>
  <tr>
    <td><s:label theme=”simple” required="true">Password :</s:label></td>
    <td><s:textfield name="password" theme=”simple” /></td>
  </tr>
  <tr>
      <td><s:submit  value="Login" /></td>
  </tr>
</table>
</s:form>
struts.xml

public class LoginAction extends ActionSupport {
    private String userName;
    private String password;

    @Validations(requiredStrings={@RequiredStringValidator(type=ValidatorType.FIELD, message="User Name can ot be empty.", fieldName="userName")})
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Validations(requiredStrings={@RequiredStringValidator(type=ValidatorType.FIELD, message="Password can ot be empty.", fieldName="password" )})
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

    public String execute()
    {
        return SUCCESS;
    }
}
<struts>
    <package name="demo" extends="struts-default">
        <action name="*" class="mypkg.action.{0}Action">
            <result name="success">/success.jsp</result>
            <result name="input">/index.jsp</result>
        </action>
    </package>
</struts>

/success.jsp
/index.jsp

如果我的代码有问题,是否有人能帮助并注意到?

如果您使用
验证
注释,那么您应该将其放在action method上。验证器注释放在setter方法上。您还使用了
validate=“true”
,这意味着客户端验证。确保已将javascript(借助于
)和
xhtml
css\u xhtml
等主题应用于表单,以使验证错误可见。即主题
simple
在此处不起作用,请将其从字段中删除

如果不指定主题,Struts2将使用xhtml主题 默认情况下

参考:


请尝试并确保您的操作正确。请同时发布stacktrace。我也使用了同样的方法。这是唯一不起作用的问题。我想是不见了。我补充说。