@JFinal 波总您好 再次打扰您了
您文档中的这个例子 我用的时候
JMap condMap = JMap.create("1st","第一").set("2nd","第二").set("3th","第三").set("statusok", "ok");
Db.getSqlPara("find",condMap) 只能取到 select * from table where status = ok
其他值取不到。
就能取到其他值了,可是 参数是对象,
这个写还报错,不知道怎么写了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
注意两点就好:一个是表达式中永远不要出现 #号符,直接取变量就好,例如#(n.key)。
第二点是 #p指令目前只支持#p(obj)而不支持#p(obj.field),jfinal3.1将支持后面这种形式,目前可以通过一个#set(temp=obj.field)先将值赋给一个中间变量,然后再通过#p(temp)来使用
@JFinal 谢谢波总
此外,sql管理功能的用法除了那三个专用指令以外,所有jfinaltemplateengine的用法全部支持,所以先看一下jfinal手册中的templateengine这一章是极有帮助的 #p指令在功能上是一直支持#p(obj.field)的,只不过在对参数类型进行判断时禁止了obj.field的形式,下个版本会去除这个禁止规则,立即就可以支持,对map进行迭代时使用#p指令是极极有用的注意两点就好:一个是表达式中永远不要出现 #号符,直接取变量就好,例如#(n.key)。
第二点是 #p指令目前只支持#p(obj)而不支持#p(obj.field),jfinal3.1将支持后面这种形式,目前可以通过一个#set(temp=obj.field)先将值赋给一个中间变量,然后再通过#p(temp)来使用
回复 @JFinal:波总神威一个意念就帮我把问题解决了感谢波总。回复 @frankbak:可能是eclipse的bug,也可能是当时class文件没有被正常编译回复 @JFinal:debug了一下都正常,我又把limit去掉了,能取到数据了,然后把limit加回去,也能取到数据,现在是正常了不知道为什么。先看一下SqlPara对象中的是什么数据,然后单步调试跟踪到Db.find(sqlPara)中去,看数据有啥变化