`

可恶的struts2插件Validation.

 
阅读更多
在学习validation的时候,碰到一个很见鬼的问题。
我在写XXX-XXX-validation.xml的时候,为了写注释,让自己明白一点.....
暂停....喝酒....


第二天,酒醒了。
说到写了注释,然后有<!-- -->包括着我自己的注释。里面还有“--”两个减号连起来的。问题就出来了,运行的时候,总是没有进去validation.xml验证。但是其他地方是一样的,只是少了注释,就能进去验证了。
检查了一个晚上,才发现是注释里面不能有"--"的符号,至少有一个空格来隔开也行。
晕死了,Validation怎么会这样呢?
可恶。


今天又碰到了一个问题:
在验证失败的时候,jsp上的Form范围内会有message提示,class="errorMessage",但是,复合对象的错误信息上无法显示,除非要用<s:fielderror>,才会集中显示所有的错误。真的是这样的么?
debug信息:
Object Property Name Property Value 
com.app.action.ProjectAction texts null 
message  
actionErrors [] 
errors {message=[Message不能为空.], vo.username=[Vo的错误信息:用户名没有输入.]} 
fieldErrors {message=[Message不能为空.], vo.username=[Vo的错误信息:用户名没有输入.]} 
errorMessages [] 
container There is no read method for container 
locale zh_CN 
actionMessages [] 
servletRequest There is no read method for servletRequest 
projectActionService com.app.service.impl.ProjectActionService@1f0c2fd 
vo com.app.pojo.AslProjects@e58e3d 
com.opensymphony.xwork2.DefaultTextProvider texts null 

对应“Message不能为空.], vo.username=[Vo的错误信息:用户名没有输入.”,“Message不能为空.]”能显示在Form的textfield附近,但是,“vo.username=[Vo的错误信息:用户名没有输入.”却无法显示。只能显示在<s:fielderror>里面。
待考察...
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics