В моем приложении Spring 3.0.5 Web MVC я определил класс модели со свойством, аннотированным @SafeHtml. Когда Spring пытается проверить этот объект модели, он взрывается со следующим:
HTTP ERROR: 500
org.jsoup.Jsoup.isValid(Ljava/lang/String;Lorg/jsoup/safety/Whitelist;)Z
RequestURI=/guestbook/process-new-entry
Caused by:
java.lang.NoSuchMethodError: org.jsoup.Jsoup.isValid(Ljava/lang/String;Lorg/jsoup/safety/Whitelist;)Z
at org.hibernate.validator.constraints.impl.SafeHtmlValidator.isValid(SafeHtmlValidator.java:62)
at org.hibernate.validator.constraints.impl.SafeHtmlValidator.isValid(SafeHtmlValidator.java:34)
at org.hibernate.validator.engine.ConstraintTree.validateSingleConstraint(ConstraintTree.java:278)
... (abbreviated)
Я понимаю, что это связано с тем, что я не использовал нужную версию Jsoup. (Я использую 0.2.2) В этой версии, которую я использую, сигнатура метода для isValid () изменилась или была полностью удалена. Поэтому, чтобы решить эту проблему, я считаю, что я должен использовать другую версию Jsoup. Я прав?
Гипотетически, что если я захочу продолжать использовать версию, которую я сейчас использую - какая другая часть нуждается в изменении версии? Это валидатор Hibernate?
Кроме того, кто-нибудь может предложить способ узнать , какую версию Jsoup использовать? Как вы обычно разрешаете подобные ошибки?
И, последний вопрос: что означает буква "Z" в конце строки? Я иногда сталкиваюсь и с другими письмами. Что означают эти буквы? Это где-нибудь задокументировано?
Спасибо всем заранее за то, что помогли мне прийти к лучшему пониманию того, как эти несоответствия версий должны быть устранены, поэтому мне не нужно было бы тратить так много моего времени в будущем ... Ура!