Rumah >Java >javaTutorial >Apakah cabaran berhijrah daripada JSF 1.2 kepada JSF 2.0, dan bagaimanakah cabaran ini berbeza-beza bergantung pada teknologi paparan yang digunakan?
Keperitan menaik taraf daripada JSF 1.2 kepada 2.0 adalah berdasarkan teknologi paparan yang anda gunakan pada masa ini dan masa hadapan. Ia bergantung pada teknologi tontonan yang anda rancang untuk gunakan.
Tidak kira menukar teknologi paparan, anda sekurang-kurangnya perlu melakukan langkah berikut:
<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">
Nota: Jika anda menggunakan JSF 2.2 atau lebih baru, gunakan http://xmlns.jcp dan bukannya http://java.sun.com sepanjang coretan XML di atas Domain ruang nama .org.
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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-app_2_5.xsd" >
Nota: Jika anda menggunakan Servlet 3.0 atau lebih tinggi, gunakan http://xmlns.jcp dan bukannya http://java.sun.com sepanjang coretan XML di atas Domain ruang nama .org.
Jika anda menggunakan JSP 2. Pada asasnya anda tidak perlu menukar apa-apa lagi. Naik Taraf Berperingkat
Jika anda sudah menggunakan corak URL akhiran (seperti , FacesServlet mengimbas terlebih dahulu untuk .xhtml fail dan jika ia tidak wujud, *.jsp Adalah idea yang baik untuk mengingati untuk mengimbas fail anda. Ini membolehkan penukaran beransur-ansur daripada JSP kepada Facelets tanpa menukar URL. Walau bagaimanapun, jika anda menggunakan corak URL awalan (cth. /faces/) dan ingin menaik taraf daripada JSP kepada Facelets secara berperingkat, tukarkannya kepada .jsf dan mungkin gantikan Semua pautan sedia ada dalam Halaman JSP juga mesti diubah. Sila ambil perhatian bahawa JSF 2.0 baharu yang disediakan navigasi tersirat tidak mengimbas kewujudan fail dan menavigasi ke outcome.xhtml juga. Jadi jika anda beralih dari .jsp atau ke .jsp, anda masih perlu memasukkannya dalam ID paparan dengan cara JSF 1.x. Saya menggunakan Facelets 1.x sebagai teknologi pandangan saya dan Facelets 2.0<🎜 disertakan dengan JSF 2.0 > Jika anda ingin menggunakannya, anda perlu mengambil langkah tambahan berikut: JSP 2.x sebagai teknologi paparan kami dan tidak lama lagi akan menaik taraf kepada Facelets 2.0 Jika anda mahu, anda perlu membuat banyak perubahan sebelum menerbitkan tapak anda. Kami pada asasnya menukar teknik pandangan di sini. Jika halaman JSP anda yang sedia ada direka bentuk dengan baik, tidak akan ada skriplet baris kod dan satu-satunya teg khusus JSP ialah Ubah seperti berikut. JSP asas sertakan templat halaman... ... mesti ditukar kepada templat muka Facelets asas berikut. Atas ialah kandungan terperinci Apakah cabaran berhijrah daripada JSF 1.2 kepada JSF 2.0, dan bagaimanakah cabaran ini berbeza-beza bergantung pada teknologi paparan yang digunakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!Facelets 1.x to Facelets 2.0
Alih keluar Facelets 1.x JAR daripada /WEB-INF/lib. Facelets 1.x Alih keluar FaceletViewHandler daripada faces-config.xml. Jika anda mempunyai pelaksanaan FaceletViewHandler tersuai, anda mesti mengemas kininya untuk melanjutkan ViewHandlerWrapper. Walaupun tidak perlu, untuk tujuan pembersihan, alih keluar nilai
<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">
Nota: Jika anda menggunakan JSF 2.2 atau lebih baru, gunakan http://xmlns.jcp dan bukannya http://java.sun.com sepanjang coretan XML di atas Domain ruang nama .org. Ini pada asasnya mencukupi. JSP 2.x kepada Facelets 2.0 Kami menggunakan <web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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-app_2_5.xsd"
>
Tukar kepada templat asas Facelets berikut. <facelet-taglib
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-facelettaglibrary_2_0.xsd"
version="2.0">
Nota: Jika anda menggunakan JSF 2.2 atau lebih baru, gunakan nama http://xmlns.jcp.org dan bukannya http://java.sun.com sepanjang coretan XHTML di atas domain spatial.
Sertakan perubahan halaman
<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">
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
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-app_2_5.xsd"
>
<facelet-taglib
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-facelettaglibrary_2_0.xsd"
version="2.0">
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html>
<f:view>
<html lang="en">
<head>
<title>JSP page</title>
</head>
<body>
<h:outputText value="JSF components here." />
</body>
</html>
</f:view>