Java 字段错误密钥随Xwork升级到2.0.6而更改
我已经将Xwork从2.0.4升级到2.0.6(struts版本是2.0.11.1)。字段验证工作正常,但错误的键不正确。例如,我有一个名为profile.name.firstName的必填字段。字段错误键现在显示为profile.profile.name.firstName。当错误来自Xwork验证时,点表示法中的第一个值总是重复出现Java 字段错误密钥随Xwork升级到2.0.6而更改,java,struts2,dependencies,upgrade,xwork,Java,Struts2,Dependencies,Upgrade,Xwork,我已经将Xwork从2.0.4升级到2.0.6(struts版本是2.0.11.1)。字段验证工作正常,但错误的键不正确。例如,我有一个名为profile.name.firstName的必填字段。字段错误键现在显示为profile.profile.name.firstName。当错误来自Xwork验证时,点表示法中的第一个值总是重复出现 你知道是什么导致了这种情况吗?类的VisitorFieldValidator的getFullFieldName方法的主体发生了变化: diff -rNau xw
你知道是什么导致了这种情况吗?类的VisitorFieldValidator的getFullFieldName方法的主体发生了变化:
diff -rNau xwork-2.0.4-sources/ xwork-2.0.6-sources/
输出:
public String getFullFieldName(String fieldName) {
+ if (parent instanceof AppendingValidatorContext) {
+ return parent.getFullFieldName("") + field + "." + fieldName;
+ }
return field + "." + fieldName;
}
也尝试调查兼容性。在2.0.4和2.0.6之间的API中似乎有很多危险的变化(一些删除的方法)。开发人员不遵循版本控制惯例,我想这种行为可能会定期改变。即使是次要版本,您也无法在不损坏的情况下进行更新