在用Struts2校验框架登陆时,设置判断登陆密码和账号不能为空。配置都正确,而且校验成功,能输出校验信息。就是如果,不填密码和账号点击登陆,到页面,提示密码和账号不能为空,此时返回上一页,不填密码和账号在点确定,还输出密码和账号不能为空,但是会连着上回的信息一起输出,就是这时候有两个密码和账号不能为空的信息,只有当重启服务器tomcat后,第一次没有别的信息,后面就有了。这个怎么弄,有没有清除上回的信息的语句,由于,我用的别人的电脑,没有代码。
等回去了,上代码。谢谢了

解决方案 »

  1.   

    貌似需要在filter里配置下,好像有个什么CleanUp的过滤器
      

  2.   

    这是那个校验框架的代码<?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">
    <param name="trim">true</param>
    <message>登陆帐号不能为空</message>
    </field-validator>
    </field>
    <field name="password">
    <field-validator type="requiredstring">
    <param name="trim">true</param>
    <message>登陆密码不能为空</message>
    </field-validator>
    </field>
    </validators>
      

  3.   

    这是struts.xml的部分代码,只贴了关于这个action的.
    <package name="action" namespace="/" extends="struts-default">
    <action name="login" class="loginAction">
    <result>/home.jsp</result>
    <result name="input">/error/error.jsp</result>
    </action>这是那个错误页面的代码 <s:if test="hasFieldErrors()">
    <s:fielderror />
    </s:if>
    <s:else>用户或密码错误</s:else>
      

  4.   

    还需要什么地方的代码?
    就像我说的,如果不填帐号和密码,点确定后,会输出提示。如果后退后,再不填账号和密码,再点,会继续上次的输出提示。。只有当重启tomcat服务器后,第一次会输出一次,以后又成这样了。很乱,我只想输当前的一次的提示怎么做?谢谢
      

  5.   

    还有就是。如果,当tomcat第一次运行后,如果第一次不填,以后就一直登陆不了,一直有错误信息,除非重启服务器