Struts2 Validation框架那些小事

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

一、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的值,所以永远校验失败。

五、目前主要就这四个问题了,   一切都是在细节上,都是因为一些细小的东西没注意到,经验真重要啊。 

【编辑推荐】

  1. 在Eclipse中开发struts应用程序
  2. 手把手教你在Eclipse中配置开发Struts
  3. Eclipse下开发struts完整解决乱码问题
  4. Struts相关背景介绍
  5. 使用Easy Struts for Eclipse开发Struts
责任编辑:张燕妮 来源: javaeye.com
相关推荐

2009-06-25 15:37:12

Struts2教程Validation框

2009-02-04 13:13:03

2011-03-30 09:03:57

struts2

2009-07-29 09:54:34

struts2和str

2009-06-05 09:58:20

struts2验证用户注册

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-02-04 10:51:07

2011-11-25 13:01:16

JavaMVCstruts2

2009-07-03 09:35:57

Struts2 JSP

2009-06-04 08:34:24

Struts2配置struts.xml

2009-07-14 17:10:44

struts2webwork

2009-06-03 14:19:34

Struts2Guice

2009-06-25 16:04:30

2009-06-04 09:20:19

struts2 if标使用

2013-07-18 15:09:27

2009-06-25 15:26:25

Struts2教程struts.xml常

2012-05-10 14:00:06

StrutsjsonJava

2011-08-19 13:13:14

struts2Java

2013-07-19 09:36:04

struts2struts2漏洞

2009-06-05 10:05:50

struts menustruts2
点赞
收藏

51CTO技术栈公众号