91

JSF 2 で注釈が大幅にサポートされた後、私は を何に使用するのか疑問に思っていfaces-config.xmlます。その重要性は今何ですか?

つまり、アノテーションを介してのみ実行でき、faces-config.xmlアノテーションを介しては実行できない構成は何ですか?

今私がそれを使用しているのは、Spring の EL リゾルバーを宣言することだけです。

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

    <application>
        <el-resolver>
            org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
    </application> 
</faces-config>
4

1 に答える 1

143

注釈を付けることができない多くのものにまだ使用されています。例: カスタム JSF 検証メッセージ:

<application>
    <message-bundle>com.example.i18n.messages</message-bundle>
</application>

<f:loadBundle>グローバル i18n バンドル (すべてのビューで宣言する必要がないように):

<application>
    <resource-bundle>
        <base-name>com.example.i18n.Text</base-name>
        <var>text</var>
    </resource-bundle>
</application>

明示的にサポートされている i18n ロケール (メッセージ バンドルまたはリソース バンドルがあっても、宣言されていないロケールは無視されます):

<application>
    <locale-config>
        <default-locale>en</default-locale>
        <supported-locale>nl</supported-locale>
        <supported-locale>es</supported-locale>         
        <supported-locale>de</supported-locale>         
    </locale-config>
</application>

カスタムビュー ハンドラ:

<application>
    <view-handler>com.example.SomeViewHandler</view-handler>
</application>

フェーズ リスナー(そのための注釈はまだありません):

<lifecycle>
    <phase-listener>com.example.SomePhaseListener</phase-listener>
</lifecycle>

アノテーションを付けることができないマネージド Bean (以下は current Dateonを示します#{now}):

<managed-bean>
    <description>Current date and time</description>
    <managed-bean-name>now</managed-bean-name>
    <managed-bean-class>java.util.Date</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

カスタム例外ハンドラ ファクトリなどのカスタム ファクトリ (カスタム実装を提供できるようにFacesContextExternalContext、などのファクトリも許可されます):LifeCycle

<factory>
    <exception-handler-factory>com.example.SomeExceptionHandlerFactory</exception-handler-factory>
</factory>

よく使われるものだけを挙げます。IDE にタグのオートコンプリートがある場合faces-config.xmlは、それらをすべて見つけることができます。新しいアノテーションと暗黙的なナビゲーションのおかげで、マネージド Bean、バリデーター、コンバーター、コンポーネント、レンダラー、およびポイントツーポイント ナビゲーション ケースのみが不要になりました。

于 2011-09-28T13:01:08.023 に答える