学了Struts2很久了,居然一直都没使用过Struts2 validation框架,只有在最开始学时写过几个demo。今天决心认认真真的研究一下,弄了大半天解决了一个又一个问题总算有点眉目了。下面就把遇到的问题和原因写下来。

一、Struts2 validation最开端就给我一个大波折,依照官方文档做好了demo,为一个msg字段树立required查验,可运转起来便是不阻拦不查验。那个汗呀~~~~,搞了N就才发现了解过错,required是验证是否为null的,而在jsp页面里边树立一个名为msg的input即便你什么也不写它也会给你传***个"",应该运用的是requiredstring对msg查验才是我的意图。之后便是仔仔细细把validation的几个type的意思搞懂了

Struts2 Validation结构那些小事(struts2 validate)  struts2 validation 框架 第1张

二、搞定了前面的原因,把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的值,所以永久校验失利。

五、现在主要就这四个问题了, 一切都是在细节上,都是由于一些细微的东西没留意到,经历真重要啊。

【修改引荐】

  1. 在Eclipse中开发struts运用程序
  2. 手把手教你在Eclipse中装备开发Struts
  3. Eclipse下开发struts完好处理乱码问题
  4. Struts相关布景介绍
  5. 运用Easy Struts for Eclipse开发Struts
转载请说明出处
知优网 » Struts2 Validation结构那些小事(struts2 validate)

发表评论

您需要后才能发表评论