2019-06-13 08:31

@JFinal 昨天正在使用jfinal这块,开始不懂就问,后来自己花时间调试也是明白了一些,才了解到俱乐部中有资源,感谢

2019-06-12 18:14

粘贴的代码好像不能正常显示

2019-06-12 18:13

没有使用的maven?是直接引入的jar包?和demo比一下是不是都引入完了

2019-06-12 18:11

这样组织数据结构应该在接口开发、直接返回JSON数据等场景中应该是可以使用的。

2019-06-12 18:08

后来我试了一下,在前端直接使用user.getBlogList()好像是可以的,只要保证方法的正确.
也就是不需要像我之前这样去组织麻烦的数据结构。
波总在https://www.jfinal.com/feedback/4059 这儿有回复这个问题

2019-06-12 16:17

刚才试了一下,好像发现了问题,异常提示是:Only the list array and map is supported by index access
我前端取值时使用的是xxx[index]的方式,改成xxx.name这样的方式就可以了:
#for(incApply : inspectApplyList)

#(incApply.applicant_id)
#(incApply.applicant_name)
#(incApply.[0])

#end

2019-06-12 15:49

看文档model那一章: 说当 select 后的字段有多个时,必须使用 不使用List 接收数据,例如:
List list = Db.query("select id, title, content from blog");
List list = Db.query("select * from blog");

为什么我使用List list = Db.query("select * from xxx");却能接到,难道只是规范问题?正在阅读文档和代码.

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,正在阅读中)

2019-05-07 08:53

敲码导致脱发