configRoute(Haruskan saya)


Kaedah ini digunakan untuk mengkonfigurasi penghalaan akses JFinal Kod berikut mengkonfigurasi pemetaan "/hello" kepada pengawal HelloController Melalui konfigurasi berikut, http://localhost/hello akan mengakses kaedah HelloController.index(). dan http ://localhost/hello/methodName akan mengakses kaedah HelloController.methodName(). . , Kelas<? memanjangkan Pengawal>

controllerClass, String viewPath)


public
Routes add(String controller Key, Class<?
g extends


kelas pengawal)


pertama parameter controllerKey merujuk kepada rentetan yang diperlukan untuk mengakses Pengawal Rentetan ini secara unik sepadan dengan ControllerKey hanya boleh mencari Pengawal. Parameter kedua controllerClass ialah Controller yang sepadan dengan controllerKey. Parameter ketiga viewPath merujuk kepada laluan relatif pandangan yang dikembalikan oleh Pengawal (butiran khusus parameter ini akan diberikan dalam bab Pengawal yang berkaitan). Nilai lalai ialah controllerKey apabila viewPath tidak ditentukan.

Peraturan penghalaan JFinal adalah seperti berikut:


Seperti yang dapat dilihat dari jadual, JFinal perlu menggunakan ControllerKey dan kaedah untuk mengesan 3 Action2 dengan tepat (lihat Action2 dengan tepat apabila mengakses Action2 dengan tepat. definisi). Apabila kaedah ditinggalkan, nilai lalai ialah indeks. urlPara adalah untuk membawa nilai parameter dalam urlPara boleh membawa berbilang nilai dalam satu permintaan pada masa yang sama JFinal menggunakan tanda tolak "-" untuk memisahkan berbilang nilai secara lalai (pemisah boleh ditetapkan melalui constants.setUrlParaSeparator(String)), Dalam Pengawal, nilai ini boleh diambil secara berasingan melalui getPara(intindex). Tiga bahagian controllerKey, kaedah dan urlPara mesti dipisahkan dengan garis miring ke hadapan "/". Ambil perhatian bahawa controllerKey itu sendiri juga boleh mengandungi garis miring ke hadapan "/", seperti "/admin/article", yang pada asasnya melaksanakan fungsi ruang nama struts2. . ")
log masuk batal awam()

{ render("login.html");

}


Anggapkan bahawa nilai controllerKey UserController ialah "/user". Selepas menggunakan anotasi @ActionKey("/login"), actionKey bertukar daripada "/user/login" asal kepada "/login". Anotasi ini juga boleh membenarkan aksara seperti tanda tolak atau nombor digunakan dalam actionKey, seperti "/user/123-456".


Jika peraturan penghalaan lalai JFinal tidak dapat memenuhi keperluan, pembangun juga boleh menggunakan Handler untuk menyesuaikan penghalaan yang lebih diperibadikan mengikut keperluan. Idea umum adalah untuk menukar nilai sasaran String parameter pertama dalam Handler.

J penghalaan akhir juga boleh dibahagikan dan dikonfigurasikan, yang amat berguna untuk pembangunan pasukan berskala besar Berikut ialah contoh kod:

FrontRoutes kelas awam memanjangkan Laluan {



konfigurasi void awam(){

.
add(" /", IndexController.class);

add("/blog", BlogController.class);



}




}

kelas awam AdminRoutesextends

Laluan awam config(){



add("/admin",AdminController.class);

add("/admin/user", UserController.class);



}


}





kelas awam MyJFinalConf igextends JFinalConfig {



publicvoid configRoute(Routesme)

{ me.add(new FrontRoutes()); //Penghalaan bahagian hadapan

(me.add)(w)); tamatkan penghalaan



}



konfigurasi void awamConstant(Constantsme) {}



public void configPlugin(Pluginsme) {}
Interceptors
}



konfigurasi batal awam (Handlersme) {}



}


Seperti yang ditunjukkan dalam tiga keping kod di atas, kelas FrontRoutes mengkonfigurasi penghalaan bahagian hadapan sistem, AdminRoutes mengkonfigurasi sistem penghalaan Kaedah MyJFinalConfig.configRoute(...) menggabungkan dua laluan berpecah . Menggunakan konfigurasi split ini bukan sahaja menjadikan fail MyJFinalConfig lebih ringkas, tetapi juga memudahkan pembangunan pasukan berskala besar dan mengelakkan konflik versi apabila berbilang orang mengubah suai MyJFinalConfig pada masa yang sama.