No result defined for action cn.edu.zjut.action.UserAction and result input错误解决

No result defined for action cn.edu.zjut.action.UserAction and result input错误解决

在学习Struts2的内置类型转换器和校验器的时候,出现了以下错误:
在这里插入图片描述
在这里插入图片描述
register.jsp:
在这里插入图片描述
当生日输入合法时,不会出现问题。但是当日期输了2010-10-32这个非法日期时,报了上面的错误。
最终发现,是因为Struts2内置的类型转换器匹配到yyyy-mm-dd时会将String类型的日期自动转换成Date类型,并进行校验。如果类型不匹配,或者日期不合法(如果上面10月32日这种情况),就会报错误信息。
但是,现在并没有报日期不合法的信息,而是程序出了问题。这是因为前面提到了Struts框架对日期进行了校验。既然进行了校验,那么校验信息就要有地方输出,问题出现的原因其实就是没有配置校验结果信息输出的路径。
在这里插入图片描述
在struts.xml文件中补上红框内的这行代码,表示UserAction类在处理register.jsp页面时,校验信息输出到register.jsp。
添加上之后,页面正常输出,如下:
在这里插入图片描述
如果想添加个性化的报错信息,可以在工程的xxx.action 包中创建局部属性文件“UserAction.properties”,修改类型转换的校验信息,并使用 native2ASCII 工具将 UserAction.properties 重新编码(代码片段如下)
在这里插入图片描述
修改之后,输入非法的日期后提交,页面如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值