0

数時間の Google といくつかのチュートリアルの後、私は打ちのめされました... 問題が何であるかについてのヒントを与えることができるエラーが発生しているという事実ではなく、私を怒らせているのはそれらの完全な欠如です!

次のコードは動作しますが、本来の動作ではありません! 入力が null でないこと、または長さが 3 文字未満でないことを確認するための注釈は実行されません。プロジェクトがデプロイされているとき、または名前変数が書き込まれているときにも、エラーは発生しません。

public class testBean
{
    @NotNull
    @Size(min=3)
    private String name;
}

public void test()
{
    System.out.println(name);
}

そして入力フォーム:

<h:form>
        <h:inputText value="#{testBean.name}" />
    <h:commandButton value="Send" action="#{testBean.test()}" />
</h:form>

問題を引き起こしているのは tomcat だと思いますが、必要なライブラリをすべてインポートしたことは確かです。私が使用しているIDE、Eclipseについても同じことが言えます。

4

2 に答える 2

5

libsについては、「WEB-INF/lib」フォルダーと「apache-tomcat-7/lib」フォルダーの両方に「validation-api-1.0.0.GA.jar」を含めました。

実装ではなく、APIのみをインストールしました。APIは抽象的なコントラクトであるため、コードでAPIを宣言/使用し、実装を自由に選択できます。実装には具体的なコードが含まれており、実際の作業を行います。implもインストールする必要があります。JSR-303リファレンスの実装はHibernateValidatorです。ダウンロードの詳細はこちらです。現在、最新の決勝戦は4.1.0です。hibernate-validator-4.1.0.Final.jar実際の実装であるファイルが含まれています。にドロップしWebapp/WEB-INF/libます。必ずしも含まれている必要はありませんTomcat7/lib。将来のクラスパスの衝突を防ぐために、そこからAPIも削除します。

于 2011-04-20T15:12:06.483 に答える
1

私は同じ種類の問題を抱えていて、しばらく検索しましたが、私の場合、hibernate-validator-4.2.0.Final.jar を使用して、slf4j-api-1.6.4.jar がありませんでした。問題は、休止状態バリデーターがクラッシュしないことですが、それが機能していないとは言いません....

于 2012-05-18T15:22:10.480 に答える