[jsf] JSF 2에서 faces-config.xml의 사용은 무엇입니까?

주석에 대한 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>



답변

주석을 달 수없는 많은 것들에 여전히 사용됩니다. 예 : 사용자 정의 JSF 유효성 검사 메시지 :

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

글로벌 i18n 번들 ( <f:loadBundle>모든 뷰에서 선언 할 필요가 없음 ) :

<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>

주석을 달 수없는 관리 빈 (아래의 빈은에 현재 Date를 제공함 #{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>

이러한 사용자 정의 예외 핸들러 팩토리와 같은 사용자 정의 공장, (그것도 위해 공장을 허용 FacesContext, ExternalContext, LifeCycle당신이 당신의 사용자 정의 구현을 제공 할 수있는 더 많은) :

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

일반적으로 사용되는 이름 만 지정합니다. faces-config.xmlIDE에 태그 ​​자동 완성 기능이있는 경우 모두 찾을 수 있습니다. 관리 Bean, 유효성 검사기, 변환기, 구성 요소, 렌더러 및 지점 간 탐색 사례 만 새로운 주석 및 암시 적 탐색 덕분에 더 이상 필요하지 않습니다.


답변