Struts2 Validation框架那些小事
一 Struts validation最开始就给我一个大挫折 按照官方文档做好了demo 为一个msg字段建立required检验 可运行起来就是不拦截不检验 那个汗呀~~~~ 搞了N就才发现理解错误 required是验证是否为null的 而在jsp页面里面建立一个名为msg的input即使你什么也不写它也会给你传第一个 应该使用的是requiredstring对msg检验才是我的目的 之后就是认认真真把validation的几个type的意思搞懂了
二 搞定了前面的原因 把input返回值也设定成了输入页面 检验拦截成功了返回到了输入页面 然后就是不输出该有的提示信息 把input换成s:textfield也不行 最后原因是 我平时写Struts validation应用都会把struts ui theme设置成simple 而这个主题是不会显示错误信息的 把这个去掉就行了 要不这样也行
Xml代码
< ?xml:namespace prefix = s / >< s:textfield theme= x >< /s:textfield>
三 校验失败后返回一个莫名其妙的页面 这个真 这个还是吃完晚饭一下子才醒悟过来的 我使用了struts 最新的convention插件 校验失败后会找input返回值 我并没有显式指定input页面 所以convention插件会按照规则寻找actionName input jsp没找到后就跑到actionName jsp页面去了 我说他怎么老跑到默认页面去了呢 唉细节地方没注意让人给玩了
四 找到问题后我才想起来一年前我也曾经遇到过这个问题 还写过一篇博客呢 不过早忘了 汗~~~~ 这个问题就是无论如何都会校验失败 无论msg是否输入了值 原因很简单在action里msg字段我没写get方法 所以validation拦截器永远得不到msg的值 所以永远校验失败
lishixinzhi/Article/program/Java/ky/201311/28709