JFinal基本运行(2)

基于JFinal 的web项目需要创建一个 继承自JFinalConfig类的子类 ,该类用于对整个web项目进行配置。

JFinalConfig 子类需要实现五个抽象方法,如:

public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me) {}
public void configRoute(Routes me) {}
public void configPlugin(Plugins me) {}
public void configInterceptor(Interceptors me) {}
public void configHandler(Handlers me) {}
}


configConstant

此方法用来配置JFinal常量值,如开发模式devMode的配置,默认视图类型 ViewType的配置 ,如下代码配置了JFinal运行在开发模式下且默认视图 类型为JSP:

public void configConstant(Constants me) {
me.setDevMode(true);
me.setViewType(ViewType.JSP);
}

在开发模式下,JFinal会对每次请求输出报告,如本请求的Controller、 Method以及请求所携带的参数。JFinal支持JSP、FreeMarker、Velocity三种常用视图。


configRoute

此方法用来配置JFinal访问路由,如下代码配置了将”/hello”映射到HelloController这个控制器,通过以下的配置,http://localhost/hello将访问HelloController.index()方法,而http://localhost/hello/other将访问到HelloController.other()方法。

字符串与控制类的映射是:

public void configRoute(Routes me) {
me.add("/hello", HelloController.class);
}


Routes 类主要有如下两个方法:

public Routes add(String controllerKey, Class<? extends Controller> controllerClass, String viewPath)

public Routes add(String controllerKey, Class<? extends Controller> controllerClass)

第一个参数controllerKey是指访问某个Controller所需要的一个字符串 ,该字符串唯一对应Controller,controllerKey仅能定位到Controller。

第二个参数controllerClass是该controllerKey所对应到的Controller。

第三个参数viewPath是指该Controller返回的视图的相对路径。当viewPath未指定时默认值为controllerKey。


1.当url是http://localhost/controllerKey时,调用的是对应控制类的index()方法;当需要传参数时,url这样写:http://localhost/controllerKey/a-b-c,参数之间用中横线分开,index()方法中调用getPara(i)得到参数,i是参数对应的下标,例如a的下标是0,b的下标是1,c的下标是2。

2.当url是http://localhost/controllerKey/method时,调用的是对应控制类的method()方法。

3.JFinal在以上路由规则之外还提供了ActionKey注解,可以打破原有规则,以下是代码示例 :

public class HelloController extends Controller{
@ActionKey("second")
public void second(){
System.out.println("0="+getPara(0));
System.out.println("1="+getPara(1));
System.out.println("2="+getPara(2));
renderText("yjw");
}

}

这样url可以写成http://localhost/second/1-2-3,不用写控制类的映射了。

4.如果以上所有路由规则都不能满足需求,开发者还可根据需要使用Handler定制更加个性化的路由,大体思就是在Handler中改变第一个参数String target的值。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值