嗨,有人可以解释一下,如果我在 bean 表单中声明其他类型的变量(字符串除外),我可能会遇到什么问题?
最佳答案
您的请求参数是String
。如果您的表单中有不同类型的参数,则在绑定(bind)请求时,Struts 将执行从 String 到您的参数类型的转换。
这就是可能出现问题的地方。
假设您有一个 int
类型的属性,并且您请求一些无法转换为 int 的 String
(例如包含字母 - 但这已经是一个数据)验证问题)。
现在,int
必须始终有一个值,因为它是一个原语,因此 Struts 将在其中放入 0 并默默地失败。当您使用值为 0 的该字段时,您将不知道是否有错误或用户自己插入了 0。对于其他类型的字段,您也可能会遇到此问题。
您必须控制绑定(bind),不要总是依赖 Struts。
关于java - 操作表单中使用的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1409671/