UrlValidatorのバグ

Struts1.2.9でURLバリデータを使用していたら、正しいURL(例えばhttp://google.co.jp/)を入力してもエラーになるので色々調べました所、最後が"/"もしくはnull(例えばhttp://google.co.jpみたいな)で終わってるとUrlValidator#isValidPathがfalseを返していました。
いくらなんでもそれはないだろう、と思って調べて見ますとやはりバグのようで、Commons ValidatorのバージョンをStrutsに同梱されている1.1.4から1.2に切り替えることで対応されるらしいです。


1.1.4はUrlValidatorのしょうもないバグがあったので、早速1.2を導入した。Struts 1.2.7に取り込むには、このWikiにもあるとおり、至極簡単。validator.xmlのDoctypeを1.2用のものに書き換えて、

<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.2.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd">

とかを全部に直すだけ。