struts验证框架失效

今天在练习struts2框架时,因为只是在初步的学习,使用验证框架时总是没起到预期的作用,控制台报告错误是

java.io.FileNotFoundException:http://www.opensymphony.com/xwork/xwork-validation-1.0.2.dtd

后来在网上查找资料得知,新版的struts2框架已经把xwork-validation-1.0.2.dtd迁移到http://struts.apache.org/dtds下

将*-validation.xml(ps:*表示的是Action名字,两者名字一定要相同,例如LoginAction.java与LoginAction-validation.xml;当然,action里没有采用默认的execute()方法的情形除外)文件下

<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validation-1.0.2.dtd">

更换为

<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

重新部署工程到服务器,接下来就可以验收成果了,也让我内流满面,纠结了我一晚上的问题终于解决了o(︶︿︶)o 唉

另外还要注意是下面三个地方命名一致:

jsp表单<s:textfield name="userName">

action文件中的userName属性

*-validation.xml的field标签<field name="userName">

还有一点:Action类需要继承ActionSupport类,否则就不会进行页面流程的自动跳转,还有execute()方法也在这里面定义。。。

原文地址:https://www.cnblogs.com/hyhl23/p/3624568.html