2019-06-13 08:31
@JFinal 昨天正在使用jfinal这块,开始不懂就问,后来自己花时间调试也是明白了一些,才了解到俱乐部中有资源,感谢
2019-06-12 11:43
@JFinal 这里说 “一定不要在 model 中 new Xxx().dao() 出来”,我正在看关于一对多表结构jfinal如何处理的问题 文档https://www.jfinal.com/doc/5-10 中的一个示例是,在对象中的处理。
public class Blog extends Model{
public static final Blog dao = new Blog();
public User getUser() {
return User.dao.findById(get("user_id"));
}
}
public class User extends Model{
public static final User dao = new User();
public List getBlogs() {
return Blog.dao.find("select * from blog where user_id=?", get("id"));
}
}
我现在有点迷惑,提出几个问题,
1、这里的Blog和User对象就是所说的model?
2、如果Blog和User对象就是所说的model,也就是说表关联示例中这样做法不推荐?
3、表关联示例中是直接new User() 并没有 new User().dao() ,到底如何使用比较规范。
4、表关联的getList方法是应该写在User extends Model这样的对象类中?还是写在service中?
5、我在view页面中循环一对多的数据时,是可以直接循环父表list然后嵌套循环直接item.getList()这样方法调用吗?还是可以在对象中private 一个属性把子表的list先set进去然后再返回view.
2019-06-06 14:38
@JFinal 非常感谢,看到文档那段了,还有红字:
“如果希望传参时避免使用modelName前缀,可以使用空串作为modelName来实现:getModel(Blog.class, ""); 这对开发纯API项目非常有用。”
开始阅读不仔细,没能理解。结合开发再来看,就了然了。
2019-06-06 11:28
@JFinal 首先为JFINAL点个赞,谢谢回复,而且反馈速度超快,说明社区环境很好。
开始我也是照着demo使用的是getBean,但是这样的方式要求前端传参的命名为表名.字段(或者,表名.get\set属性名),这样导致我的json是{table.name:"xxx"},这样的json格式我如果要在js中再做操作就不方便。例如,我的场景是,先获得传参的json串例如jsonObj = {name:"xxx"},再在前端对某些参数进行一次处理,就会使用:jsonObj.name 去获取参数值。如果参数名是table.name,那么在JS中使用 jsoObj.table.name 是不行的,需要另想办法处理。这个我觉得很不方便。(可能是我还没适应JFINAL,正在阅读中)