web-dev-qa-db-ja.com

JSF 1.2からJSF 2.0への移行

JSF 1.2で書かれたかなり大きなアプリで作業しています。 JSF 1.2は現在6年ほど前です。 JSF 2.0にアップグレードする必要があります。これはどれほど苦痛ですか?カスタムタグの一部の属性が変更されているなどのことに気付きました。

133
mkoryak

言及することの1つは、だれかがJSF 1.2でJSTLを使用している場合、JSF2にアップグレードするときに名前空間を次のように変更する必要があるということです。

http://Java.Sun.com/jstl/core

に:

http://Java.Sun.com/jsp/jstl/core

7
Rafal G.

JSF 2.0には多くの新しい機能とコンポーネントがあり、移行に苦痛を感じることはありません。サードパーティのライブラリを使用するのは、難しいと感じる分野だけです。アプリケーションがRichfacesのようなライブラリに大きく依存している場合、問題に直面します。 Richfaces 3のすべてのコンポーネントがRichfaces 4に移植されるわけではありません。

これも役立つ場合があります JSF 1.2アプリケーションからJSF 2.0への移行

これも確認してください JSF 2の新機能

6
mvg

Web.xml

 Add the jars
    1. jsf-api-2.0.jar 
    2. jsf-impl.2.0.2.jar

ステップ1:web.xmlを変更する

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://Java.Sun.com/xml/ns/javaee" xmlns:web="http://Java.Sun.com/xml/ns/javaee/web-app_2_5.xsd"
            xsi:schemaLocation="http://Java.Sun.com/xml/ns/javaee http://Java.Sun.com/xml/ns/javaee/web-app_2_5.xsd"
            id="WebApp_ID" version="2.5">


    <servlet>
            <servlet-name>facesServlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>

        <servlet-mapping>
            <servlet-name>facesServlet</servlet-name>
            <url-pattern>/faces/*</url-pattern>
        </servlet-mapping>
        <servlet-mapping>

            <servlet-name>facesServlet</servlet-name>
            <url-pattern>*.jsf</url-pattern>
        </servlet-mapping>

        <servlet-mapping>
            <servlet-name>facesServlet</servlet-name>
            <url-pattern>*.faces</url-pattern>
        </servlet-mapping>

        <servlet-mapping>
            <servlet-name>facesServlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
        </servlet-mapping>

ステップ2:webmvc-config.xml

<!-- Handles requests mapped to the Spring Web Flow system -->
    <bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">
        <property name="flowExecutor" ref="flowExecutor" />
        <property name="ajaxHandler">
            <bean class="org.springframework.faces.webflow.JsfAjaxHandler" />
        </property>
</bean>

Step3:facess-config.xml

<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">
4
Pravin

Apache Trinidadを使用している場合は、バージョン2.0にアップグレードしてJSF 2.0をサポートする必要もあります。詳細は Hacker's Valhalla にあります。

0
designatevoid