Hello,親愛的小伙伴們。上一節,我們一起窺探了3.0中的JFinalConfig配置文件。本節內容,我們講對上一節的內容進行一些補充。主要針對configRoute這一塊內容,大家準備好了嗎?那一起出發吧。
一、路由拆分,各司其職
現實的開發過程中,我們可能需要用到路由拆分,這樣也有利于團隊協作開發,代碼結構清晰,那么在jfinal中如何處理呢?其實很簡單,只要繼承Routes類,實現config()方法就行。然后在JFinalConfig中添加一下我們自定義的路由即可。這里簡單的分為前端和后端路由,代碼如下:
新建java文件,命名為FrontRoutes,然后繼承Routes類。
package morality.base;
import com.jfinal.config.Routes;
/**
* @ClassName: FrontRoutes
* @Description:系統前端路由
* @author: Yetangtang
* @date: 2017年2月27日
* @version: 1.0 版本初成
*/
public class FrontRoutes extends Routes {
/**
*@desc 配置前端路由(移動端)
*@date 2017/02/27
*/
public void config() {
//添加前端路由配置
}
}
后端路由設置:
package morality.base;
import com.jfinal.config.Routes;
import morality.business.login.controller.LoginController;
/**
* @ClassName: AdminRoutes
* @Description: 配置后端路由(供管理系統)
* @author: Yetangtang
* @date: 2017年2月27日 下午6:21:20
* @version: 1.0 版本初成
*/
public class AdminRoutes extends Routes{
@Override
public void config() {
//設置頁面base路徑
setBaseViewPath("/view/admin");
//用戶登錄控制器
add("/login",LoginController.class,"/"); //第三個參數是視圖的路徑
}
}
向主配置文件添加,子路由文件,代碼如下:
@Override
public void configRoute(Routes me) {
me.add(new FrontRoutes()); //前端路由
me.add(new AdminRoutes()); //后端路由
}
二、添加頁面,測試配置
setBaseViewPath("/view/admin");
是告訴jfinal后端的view文件base路徑指向哪里,不同模塊的的view正常情況下都會用不同的文件夾來做區分,這樣有利于文件管理和協同開發。
index.html頁面是一個只有一個h2標簽的頁面,代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首頁</title>
</head>
<body>
<h2>我是系統歡迎頁面</h2>
</body>
</html>
寫到這里,我們已經完成了90%的工作,不過現在程序還不能跑,因為我們還需要修改一下LoginController,給它添加index方法,代碼如下:
package morality.business.login.controller;
import com.jfinal.core.Controller;
/**
* @ClassName: LoginController
* @Description: 用戶登錄的控制器
* @author: Yetangtang
* @date: 2017年2月25日 上午11:10:54
* @version: 1.0 版本初成
*/
public class LoginController extends Controller{
//將index.html作為直接訪問控制器的展示視圖
public void index(){
render("index.html");
}
//用戶登錄方法
public void userLogin(){
renderText("歡迎yetangtang登錄");
}
}
至此我們已經完成了全部的編碼工作,接下來就是編譯程序,測試路由功能。當項目編譯完畢后,我們啟動tomcat在瀏覽器中輸入
http://localhost:8080/morality2017/login
即可看到index.html,如下圖:
輸入http://localhost:8080/morality2017/login/userLogin
,就是訪問void userLogin()方法。
PS:恭喜你,小伙伴你已經成功的學會了使用jfinal的路由拆分功能。需要注意這邊添加路由的時候使用的方法。