关于model关联查询的另类使用

先说下前提,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属性的数据了


评论区

100520043

2017-07-08 10:58

第二个没听明白,

liuzy666

2017-07-10 09:27

和第一个一样 model添加this。put 你调用完了模板再打印下查询结果看看

热门分享

扫码入社