Struts2 自动管理表单处理过程中遇到的转换和验证错误。当发生错误时,它返回 INPUT 结果而不是引发异常。这允许用户在不中断应用程序流程的情况下纠正输入错误。
转换错误
参数拦截器处理表单参数到适当数据类型的转换(例如,字符串)为整数)。如果转换失败,它会向 ActionContext 的 conversionErrors 映射添加一个字段错误。
验证错误
验证拦截器执行为操作定义的验证规则。如果任何验证标准失败,它会将字段错误添加到 ActionContext 的 fieldErrors 映射中。
转换和验证后,工作流拦截器检查是否存在任何字段错误。如果发现错误,则返回 INPUT 结果。此结果自动包含错误消息和用户提交的原始值,确保用户可以查看错误并更正其输入。
要启用自动错误处理,请确保以下拦截器以正确的顺序包含在自定义堆栈中:
如果用户在表单字段中输入字母字符,定义为整数,框架在检索该值时返回零。发生这种情况是因为 Getter 方法返回整数 (0) 的默认值,因为它无法将 String 设置为 int 字段。
Struts2 不会引发转换或异常验证错误,因为它们被视为输入错误。相反,它返回一个 INPUT 结果并将错误消息添加到“字段错误”映射中以供用户解决。
以上是Struts2如何处理表单处理中的转换和验证错误?的详细内容。更多信息请关注PHP中文网其他相关文章!