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的路由拆分功能。需要注意这边添加路由的时候使用的方法。