这篇文章跟大家分析一下“Struts2 Validation框架实例分析”。内容详细易懂,对“Struts2 Validation框架实例分析”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Struts2 Validation框架实例分析”的知识吧。
一、Struts2 validation最开始就给我一个大挫折,按照官方文档做好了demo,为一个msg字段建立required检验,可运行起来就是不拦截不检验。那个汗呀~~~~,搞了N就才发现理解错误,required是验证是否为null的,而在jsp页面里面建立一个名为msg的input即使你什么也不写它也会给你传第一个"",应该使用的是requiredstring对msg检验才是我的目的。之后就是认认真真把validation的几个type的意思搞懂了
二、搞定了前面的原因,把input返回值也设定成了输入页面,检验拦截成功了返回到了输入页面,然后就是不输出该有的提示信息,把input换成s:textfield也不行。***原因是:我平时写Struts2 validation应用都会把struts.ui.theme设置成simple,而这个主题是不会显示错误信息的。把这个去掉就行了,要不这样也行
Xml代码
< ?xml:namespace prefix = s / >< s:textfield theme="xhtml">< /s:textfield> |
三 校验失败后返回一个莫名其妙的页面,这个真。。。。。 这个还是吃完晚饭一下子才醒悟过来的。我使用了struts2***的convention插件,校验失败后会找input返回值,我并没有显式指定input页面,所以convention插件会按照规则寻找actionName-input.jsp没找到后就跑到actionName.jsp页面去了,我说他怎么老跑到默认页面去了呢,唉细节地方没注意让人给玩了。
四 、找到问题后我才想起来一年前我也曾经遇到过这个问题,还写过一篇博客呢,不过早忘了,汗~~~~ 这个问题就是无论如何都会校验失败,无论msg是否输入了值。 原因很简单在action里msg字段我没写get方法,所以validation拦截器永远得不到msg的值,所以永远校验失败。
关于Struts2 Validation框架实例分析就分享到这里啦,希望上述内容能够让大家有所提升。如果想要学习更多知识,请大家多多留意小编的更新。谢谢大家关注一下亿速云网站!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。