先说下前提,jfinal模板引擎有两种关联查询的方法,一个是写关联sql,另一个是在model里写个关联表查询的get方法,这里要说的是第二种,我不太会写关联sql,所以model里写get方法就成了救星!
这里就产生了两个情景问题:
1:前端ajax请求关联查询接口,这种方式不用jf模板引擎,是拿到数据后然后通过js渲染的,反正就是拿纯关联查询的数据,这种时候就没办法再用model的get关联查询方式了。
解决方案:
<input value=" #[[ #for(x:modelList) <tr> <td>#(x.id)</td> <td>#(x.nickName)</td> <td>#(x.userName)</td> </tr> #end ]]# " name="tpiView" hidden=""/>
把模板引擎当作一个参数传过去,然后后端java调用模板引擎去渲染,最后把渲染好的html字符串返回给页面
2:第二种情景就是对接app客户端什么的,其实和第一种一样,你只需要返回一个关联查询好的数据就好,这种时候怎么调用model里的get这种关联查询呢
解决方案:自己写个模板引擎字符,比如上面的那个,然后还是在后端调用下解析,可是这样渲染了不是我们要的结果,我们需要的是json数据,这样的话在你的model里的get方法里面添加一个this.put方法,
public String getS() { String str ="测试代码"; this.put("s", str); return str; }
调用完渲染再把你查询出来的model的json返回就可以了,这时候这个model里就有这个s属性的数据了