今天在练习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()方法也在这里面定义。。。