Jfinal3.5 模板与视图 路径理解

本文深入探讨了模板路径与路由路径的区别,详细介绍了如何在框架中配置全局模板和视图路由,以及它们在实际应用中的作用和相互关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板路径与路由路径是两件事情。    

public void configEngine(Engine me) {
        // xg添加,shiro标签支持
        // ShiroKit.initDirective(me);
        // me.addDirective("userCount", UserCountTag.class);
        me.setDevMode(true);
        // me.addSharedObject("so", new ShiroFunction());
        // me.addSharedObject("menu", new MenuFunction());
        // me.addSharedObject("breadcrumbs", new BreadCrumbsFunction());
        me.addSharedObject("xg", XgXg.getInstance());
        me.setBaseTemplatePath(PathKit.getWebRootPath() + "");// 模板基础解析路径为 网站根
        me.addSharedFunction("/WEB-INF/view/common/_layout.html"); // 模板方法 全局化
        me.addSharedFunction("/WEB-INF/view/common/_paginate.html");
    }

在添加全局模板时,使用的是Engine的baseTemplatePath做为路径基准,上面红的是默认的设置值,若改成自己的,一定要加回它,否则出来的路径不是你想要的,只有\这样的。

 

另一个地方,是视图路由的找模板(称为view,当另一个理解更好),

    public void configRoute(Routes me) {
        me.setBaseViewPath("/WEB-INF/view"); // 设置controller视图的相对位置 不同路由不同view基址                                        

        me.add("/", MainController.class, "/"); // 第三个参数为该Controller的视图存放路径
        me.add("/blog", BlogController.class); // 第三个参数省略时默认与第一个参数值相同,在此即为baseViewPath+"/blog/",有方法再加方法,无方法 +"index"
        me.add("/user", UserController.class); // 第三个参数省略时默认与第一个参数值相同,在此即为
        me.add("/role", RoleController.class); 
        me.add("/res", ResController.class); 
        // me.add("/login", IndexController.class,"/index"); //    
        // me.add(new BizRoutes());
        // me.add(new AdminRouts());
    }

具体找view的路径是  baseTemplatePath+ (baseViewPath+约定路径)+方法名,
或者有第三参数时: baseTemplatePath+ 第三参数+方法名,

 

至于模板内部 #include("相对路径"),我还没试过用绝根路径,使用 ../../这种路径还没出过错。是根在 webrootPath,还是baseViewPath,不太确定。有结论了再来补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值