在我的 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”字母是什么意思?我有时也会遇到其他字母。这些字母是什么意思?这在任何地方都有记录吗?
提前感谢大家帮助我更好地理解这些版本差异应该如何解决,所以我以后不需要浪费太多时间了……干杯!