首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
查询分页问题
怎懂落寞
2018-03-21 11:43
后台代码是
前台是:
这个问题与jfinal没有很大的关系,但是还是希望@
JFinal
有空能解答一下,困扰很久了,麻烦您了
项目:
JFinal
评论区
JFinal
2018-03-21 22:45
你得让 “下一页” 这个链接请求时可以带上原来的参数才行,简单参数可以是直接在分页链接上直接问号挂参,复杂的可以用表单提交带参
回复
怎懂落寞
2018-03-22 09:51
在#@paginate这个之前加上#set(value = "李明")
#set(append = "?applicant=" + value )这个确实可以,但是我不清楚到底传入的参数是applicant,还是department? 这个
#set(append = "?applicant=" + value )里面的applicant可以是动态的吗?
回复
JFinal
2018-03-22 18:05
@怎懂落寞
用 enjoy 的 #if 指令 或者三元表达式等功能动态动生成条件即可
回复
怎懂落寞
2018-03-23 08:44
@JFinal
就比如我点击了2个查询条件,该怎么用这个#if(),我昨天是这么用的,#if(applicant!="") #set(append = "?applicant=" + applicant ) #end
#if(department!="") #set(append = "?department=" + department ) #end
#if(kemu!="") #set(append = "?kemu=" + kemu ) #end
#if(payment!="")#set(append = "?payment=" + payment ) #end
#if(receipt!="") #set(append= "?receipt=" + receipt ) #end
#@paginate(blogPage.pageNumber,
blogPage.totalPage, url),但是这么写url只能带一个参数,真的不太理解,求解答
回复
JFinal
2018-03-23 11:55
@怎懂落寞
对于翻页来说,通常就是 url 问号挂参,代码的写法多种多样,就看你对 enjoy 理解的深度,我下面给出一种写法:
#set(append = "applicant=" + applicant + "&department=" + department ....其它条件省略)
#set(append = "?" + append)
#@paginate(blogPage.pageNumber, blogPage.totalPage, url)
上面的代码也就是说,无论你变量值是否存在,我都给你拼接上,没有的话就是 null,被传到后端时过滤掉这些 null 值条件去生成 sql
当然,还有更好的办法,做个模板函数或者 shared method 来辅助,下面给出模板函数的方法:
#define buildAppend(cnd)
#set(append="");
#for(x :cond)
#if(x)
#set(append = append + x)
#end
#set(append = "?" + append);
#end
用的时候这样:
#@buildAppend([applicant, department, kemu, payment ....其它条件省略])
以上就相当于是写程序了, enjoy 的功能全在那里了,具体怎么使用就看你自己了
回复
发送
我要反馈
热门反馈
扫码入社