1

Xwork を 2.0.4 から 2.0.6 にアップグレードしました (Struts のバージョンは 2.0.11.1 です)。フィールドの検証は正しく機能していますが、エラーのキーは機能していません。たとえば、profile.name.firstName という必須フィールドがあります。フィールド エラー キーが profile.profile.name.firstName として表示されるようになりました。エラーが Xwork 検証に起因する場合、ドット表記の最初の値が常に繰り返されます。

これを引き起こしている可能性のあるアイデアはありますか?

4

1 に答える 1

0

クラス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 に多くの危険な変更が加えられているようです (いくつかの削除されたメソッド)。開発者はバージョン管理規則に従っていないため、動作は定期的に変更される可能性があると思います。マイナーバージョンであっても、壊れていなければ更新できません。

于 2011-01-18T07:46:35.553 に答える