当前位置: 代码迷 >> Java Web开发 >> Struts2配备好的LoginAction-Validation.xml不管用
  详细解决方案

Struts2配备好的LoginAction-Validation.xml不管用

热度:10304   发布时间:2013-02-25 21:05:36.0
Struts2配置好的LoginAction-Validation.xml不管用
Struts2配置好的LoginAction-Validation.xml不管用.我写的是登录非空验证:验证用户名密码不能为空~但是现在用户名密码为空还能够进行登陆验证,没有给出提示~
LoginAction-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="username">
<field-validator type="requiredstring">
<message key="用户名不能为空!"/>
</field-validator>
</field>
<field name="password">
<field-validator type="requiledstring">
<message key="密码不能为空!"/>
</field-validator>
</field>
</validators>


放的位置是:

为啥不管用呢?
你的action里面是直接封装的属性,还是封装的对象,如果是属性的话那就对着,如果是对象的话,应该这样

 <field name="user.username">
        <field-validator type="requiredstring">
            <message key="用户名不能为空!"/>
        </field-validator>
    </field>
    <field name="user.password">
        <field-validator type="requiledstring">
            <message key="密码不能为空!"/>
        </field-validator>
    </field>不好意思看错了,是Validation要小写。你struts.xml里面的loginAction有没配置input的跳转呢把你JSP页面和配置文件的代码看看,有没有访问action成功。 <message key="用户名不能为空!"/>你这个是指定你的action的message.properties文件里有
用户名不能为空=.........很显然你这里没有action的资源文件。
改成
<message>用户名不能为空!</message>
下面的密码也一样检查username 和 password 是否和 实体类中属性名一致  jsp页面写的合适不?Validation开头,然后才是方法。。。。
  相关解决方案