2017-08-02 15:57
你应该是用了 Db + Record 模式,对于 Record 对象转 json, 使用 jfinal 自己的 json 转换类可以识别,而 fastjson jackson 对于 record 的转换,是先调用了其 getColumns() 得到 map 后进行的转换
建议尽量使用生成了 getter 方法的 Model 再进行转换,jackson 与 fastjson 会根据它的 getter 方法进行转换
多种转换方式可以自由搭配:
1:使用 jfinal 自己的转换工具 JFinalJson.getJson().toJson(...)
2:使用 jackson 工具 Jackson.getJson().toJson(...)
最后再通过 renderJson(jsonString) 进行输出,因为 renderJson 是可以直接认 String 参数的
me.setJsonFactory(...) 是配置默认 json 转换工具,在此基础上仍然可以灵活搭配来使用,此外, jfinal 还提供了一个 MixedJsonFactory 可以让转 json 时使用 jfinal 实现,而 parse 时使用 fastjson 实现
2017-08-02 15:45
@guang 刚刚还看到一个问题,Kv kv = Kv.create() 这个属性需要挪到 exec() 方法里面去创建,因为模板中的指令节点是一次性建好以后,多线程重用的,所以需要保持线程安全
2017-08-02 15:43
@大龙 这倒真被挖掘出了一个新需求,刚刚已经为 Assign 添加了 getId()、getIndex()、getRight() 三个方法,新版本已经提交至 git:https://git.oschina.net/jfinal/jfinal
2017-08-01 11:36
@风花狂月 这样传参可以满足需求,还可以将 teacherId 放到 url 之中,而 body 中只传学生信息,这个不是很重要,关键是满足需求
2017-08-01 11:26
@风花狂月 我建议向两个方向考虑:
1:对于简单情况,将 http 请求的“动词”拿到 url 中即可
2:如果参数比较复杂,则需要借助表单或者叫 http body 传递参数的方式搞定,body 中可以传递极为复杂的参数,例如传入一个 json 结构的数据
随着提交数据结构的复杂度提升,不是所有参数都能在 url 中就搞定的,即便是 Roy Fielding 博士建议的 URL 风格必然也有搞不定的情况,这时候就要请出 http body 传参