JFinal学习

1.步骤

创建项目、导入jar包、配置文件。

配置文件主要2个:一个继承自jFinalConfig类,配置路径、常量、拦截器等,另一个_JFinalDemoGenerator类,设置model、basemodel等的生成包路径等,是否生成数据字典、表与实体类对应的生成规则等。

jFinalConfig中包括①配置路由的方法,可设置基本路径,设置Controller实体类与路径、jsp页面间的对应关系。②设置常量:主要包括读入数据库文件.txt。③配置插件:包括各个数据库插件及表与实体类映射文件_MappingKit.java。④main方法:用于该项目的启动。右键选择Java Application。⑤其他还包括一些模板及拦截器配置等。

2、configRoute方法

详情参见jfinal开发手册。

注意jfinal路由规则表。

controllerKey自身也包含正斜杠"/"

jfinal中的urlpara默认使用‘-’来分隔多个值。此外,可通过constants.setUrlParaSeparator(String)设置分隔符。还可包括负数,例如:n8或N8表示-8.

ActionKey注解更改路径;

一、Controller

参数传递及获取方法

1.getPara():从请求中获取参数。

2.getModel():接收页面表单传递过来的model对象,表单域名名称以"modelName.attrName"方式命名。

在浏览器中保存数据的方法如下:

3.setAttr(String,Object)转调了HttpServletRequest.setAttribute(String,Object),该方法可将各数据传递给View并在View中显示出来。

4.session操作方法

  通过setSessionAttr(key,value)可以向session中存放数据,getSessionAttr(key)可以从session中读取数据。

5.render系列方法

  渲染不同类型的视图并返回给客户端。

  render("test.html");相对路径

  render("/test.html");绝对路径

  redirect("");重定向

6.一个controller中可包含多个action,action对应每个方法。

二、AOP

JFinal中仅有的三个概念:Interceptor、Before、Clear。

1.Interceptor可对方法进行拦截。示例如下:


2.Before

Before注解用来对拦截器进行配置,可配置Class、Method级别的拦截器。


3.Clear

拦截器从上到下依次分为Global、Inject、Class、Method四个层次,Clear用于清除自身所处层次以上层的拦截器

clear声明在method层时将针对global、inject、class进行清除。clear声明在class层时将针对global、inject进行清除。clear注解携带参数时清除目标层中指定的拦截器。

三、ActiveRecord

ActiveRecord操作数据库的两种方式:Model和Db、Record

1.User中定义的public static final User dao对象是全局共享的,只能用于数据库查询,不能用于数据承载对象。数据承载需要使用new User().set(...)来实现。

//创建name属性为James,age属性为25的User对象并添加到数据库
new User().set("name","James").set("age",25).save();
//删除id为25的User
User.dao.deleteById(25);
2.JFinal独创Db+Record模式

Db类及其配套的Record类,提供了在Model类之外更为丰富的数据库操作功能。使用Db与Record类时,无需对数据库进行映射,Record相当于一个通用的Model。

3.声明式事务

ActiveRecord支持声明式事务,声明式事务需要使用ActiveRecordPlugin提供的拦截器来实现。示例如下:



项目实例:http://download.csdn.net/detail/hellorichen/9875475

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值