分享一个自己写的JFinal的BaseController (1)
来源:互联网 发布:数据保护excel 编辑:程序博客网 时间:2024/06/05 02:12
以前用struts的时候自己就写了一个BaseAction
所以用JFinal的时候也写了一个BaseController
希望对大家有所帮助,让JFinal保持大道至简
import com.jfinal.core.Controller;import com.jfinal.plugin.activerecord.Db;import com.jfinal.plugin.activerecord.Model;import com.jfinal.plugin.activerecord.Page;import com.jfinal.plugin.activerecord.Record;public class BaseController extends Controller {private Class<?> clazz; // 对应的实体public Class<?> getClazz() {return clazz;}public void setClazz(Class<?> clazz) {this.clazz = clazz;}/** * 通用分页查找 */public void getByPage() {Page<Record> list = Db.paginate(getParaToInt("pageNumber"),getParaToInt("pageSize"), "select *", "from "+ getClazz().getSimpleName() + " order by id desc");renderJson(list);}/** * 通用查找全部 */public void getAll() {renderJson(Db.find("select * from " + getClazz().getSimpleName() + ";"));}/** * 通用根据id查找 */public void getById() {renderJson(Db.findById(getClazz().getSimpleName(), getParaToInt(
"id"
)));
}/** * 通用新增 * * @throws Exception */public void save() throws Exception {renderText(getModel(((Model<?>) Class.forName(clazz.getName()).newInstance()).getClass()).save()+ "");}/** * 通用修改 * * @throws Exception */public void update() throws Exception {renderText(getModel(((Model<?>) Class.forName(clazz.getName()).newInstance()).getClass()).update()+ "");}/** * 通用删除 * * @throws Exception */public void delete() throws Exception {renderText(getModel(((Model<?>) Class.forName(clazz.getName()).newInstance()).getClass()).delete()+ "");}}
然后你的Controller只需要继承BaseController
就自动有了BaseController的所有方法的,需要在构造方法里把Mode的class映射进去
Controller的代码如下
public class CardController extends BaseController { public CardController() { setClazz(Card.class); } }
权限之类的就需要你自己处理过滤了,过滤也非常方便的。
代码写得不好的地方请大家给予纠正。
@JFinal
0 2
- 分享一个自己写的JFinal的BaseController (1)
- 分享一个自己写的JFinal的BaseController (2)
- 分享一个自己写的JFinal的BaseController (3)
- RPG/400 自己写的一个小实例分享!(1)
- 分享自己写的一个贪吃蛇的游戏(Linux)
- 分享一个自己写的IOCP服务器的类源码
- 【iOS】BaseController的用处
- BaseController的写法
- BaseController的封装
- RPG/400 自己写的一个小实例分享!(2)
- RPG/400 自己写的一个小实例分享!(3)
- 分享一个自己写的J2ME SAX XML解析器.
- 分享一个自己写的httpWatch自动化测试工具
- 分享一个自己写的字符串工具:字符串格式化拼接
- 分享一个我自己写的JS目录树
- 分享一个自己写的俄罗斯方块。。。QT C++
- 分享一个自己写的wordpress广告位管理插件
- 分享一个自己写的jquery分页插件
- PF_RING模块初始化(五)
- dede中上传图片文件失败的解决过程
- C语言之静态链接库与动态链接库(2)
- UISearchBar 和 UISearchDisplayController的使用
- 统计学中数据类型
- 分享一个自己写的JFinal的BaseController (1)
- C#运算符重载
- socket的创建(六)
- 60个数据窗口技巧
- Spring Aop完整实例
- Tomcat 端口号,虚拟目录 设置
- tomcat conf目录下的各xml介绍
- java——内部类
- JAVA线程同步(二)