JFinal 学习笔记 -- 映射路径

现在来探讨下 JFinal 的映射路径问题

1、新建工程:如何新建工程请查看我的上篇博客

新建好的工程目录如下: 


 

 工程中的 MyJFinalConfig 代码如下:  

package com.xiaoye.study.jfinal;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.render.ViewType;
import com.xiaoye.study.jfinal.controller.TestController;

public class MyJFinalConfig extends JFinalConfig {

	/**
	 * 设置一些常量
	 */
	@Override
	public void configConstant(Constants me) {
		me.setDevMode(true); // 设置开发模式
		
		/**
		 * 设置视图类型为 JSp
		 * 如果不设置,将不能使用jsp文件作为视图文件
		 */
		me.setViewType(ViewType.JSP);
	}

	@Override
	public void configRoute(Routes me) {
		
	}

	@Override
	public void configPlugin(Plugins me) {
		
	}

	@Override
	public void configInterceptor(Interceptors me) {
		
	}

	@Override
	public void configHandler(Handlers me) {
		
	}
}

 工程中的 TestController 代码如下:

package com.xiaoye.study.jfinal.controller;

import com.jfinal.core.Controller;

public class TestController extends Controller {
	
	public void index() {
		
	}
}

  

2、启动 Debug 模式

3、测试:这里主要通过 MyJFinalConfig 的 configRoute 方法设置访问路由;通过 TestController 的 index 方法设置视图。

访问地址:http://localhost

configRoute 设置访问路由index 设置视图结果(index.jsp 位置)
me.add("/", TestController.class);

render("index.jsp"); || 

render("/index.jsp");

WebContent\index.jsp
me.add("/", TestController.class);

render("jsp/index.jsp"); || 

render("/jsp/index.jsp");

WebContent\jsp\index.jsp
me.add("/", TestController.class);

render("jsp/jsp/index.jsp"); || 

render("/jsp/jsp/index.jsp");

WebContent\jsp\jsp\index.jsp
me.add("/", TestController.class);

render("/WEB-INF/jsp/index.jsp"); || 

render("WEB-INF/jsp/index.jsp");

WebContent\WEB-INF\jsp\index.jsp

访问地址:http://localhost

configRoute 设置访问路由index 设置视图结果(index.jsp 位置)
me.add("/", TestController.class, "jsp");render("index.jsp");WebContent\jsp\index.jsp
me.add("/", TestController.class, "jsp");render("/index.jsp");WebContent\index.jsp
me.add("/", TestController.class, "jsp");其他路径结果类似 

说明:当设置访问路由时,第三个参数代表视图路径。如果在视图跳转时,在要跳转的视图(index.jsp)前加了“/”,则访问路由中设置的第三个参数与没有设置一样,视图路径为:WebContent + “要跳转的视图”;

如果在要跳转的视图(index.jsp)前没有加“/”,则寻找的视图的路径为 “WebContent\” + 第三个参数 + “要跳转的视图”。 

注:第三个参数可以为“XXX”形式也可以为“/XXX” 形式,效果一样。

 访问网址:http://localhost/test

configRoute 设置访问路由index 设置视图结果(index.jsp 位置)
me.add("/test", TestController.class);render("index.jsp");找不到路径
me.add("/test", TestController.class);render("/index.jsp");WebContent\index.jsp
me.add("/test", TestController.class);前面加了“/”的都能正确找到路径 

说明:

1、访问路由仅为“/”时,视图设置时,视图路径前有“/”无“/”效果一样

2、访问路由仅为“/XXX”时,视图设置时,视图路径前必须加上有“/”,否则找不到路径

3、注:当访问路由为“/XXX”形式时,可以省略“/”不写,即仅写“test”也可以,框架会自动补上“/”。

4、访问路由设置第三参数,如果在视图跳转时,在要跳转的视图(index.jsp)前加了“/”,则访问路由中设置的第三个参数与没有设置一样,视图路径为:WebContent + “要跳转的视图”

如果在要跳转的视图(index.jsp)前没有加“/”,则寻找的视图的路径为 “WebContent\” + 第三个参数 + “要跳转的视图”。

官方文档说明:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值