在struts2中,填写表单信息,先是在第一个文本框中输入错误信息会提示“用户名必须大于6位”,再输入第二个文本框输入错误信息,结果是在第一个文本框旁边又提示“用户名必须大于6位”?请问,这是肿么了?能不能在第二个文本框中输入错误信息的同时隐藏第一个错误信息呢?还有不用再次刷新?

解决方案 »

  1.   

    这就是js就可以控制了,你隐藏两个span就可以了,然后根据点击的哪个文本框进行判断
      

  2.   

    在action里,用request.setAttribute("errorInfo","用户名必须大于6位");在jsp里,<s:property values="#request.errorInfo"/>
      

  3.   


    实现这个效果,做好不要用隐藏span的方式,因为多了的话,会有很多的隐藏和显示的代码繁琐,而且容易出现当重新进入页面的时候全部span都被显示出来。一般采取在每个执行方法前清空其他的span,将其设置为""就行了
      

  4.   

    struts2直接编写action的校验文件XXX-validation.xml就可以实现输入校验了,底层原理还是js,不过不用自己写js代码了
      

  5.   

    对于像我这样不熟悉js的,感觉挺好用的。其实就是由struts2封装好了js的校验代码
      

  6.   

    <s:form action="myAction" validate="true">
    </s:form>
    validate="true"就是客户端校验了
      

  7.   

    其实你做的就是客户端验证,那么多客户端验证的框架可以用的,不一定要用Struts2的验证框架,而且还麻烦。用JS自己写也可以,用JQuery的验证框架可能会更方便。
      

  8.   

    可是,我们现在就是学的是struts2,或许,JS方法更方便!我会考虑考虑看看的!
      

  9.   

    用jquery_validator实现客户端验证,很简单,而且用户体验很友好