在做分页功能时,为了实现点击下一页就能跳转到下一页的功能时遇见了一些bug
最开始的时候直接调用Page.getPageNumber()方法获取当前页码,然后加1,完成下一页的功能,这一步没有问题,运行完美
<a href = "/index?pageNumber=#(blogPage.getPageNumber()+1)">下一页</a>
逐步完善的过程中,想做写一个#if() #else #end 语句进去判断一下是否最后一页,但是报错了,请问我应该怎么写这个if语句才能实现我的想法 以下是我的代码及报错
<td><a href = "/index?pageNumber=#if(#(blogPage.getPageNumber()+1)>#(blogPage.getTotalPage()))#(blogPage.getTotalPage()) #else (#(blogPage.getPageNumber()+1)) #end">下一页</a></td>
[ERROR]-[Thread: qtp474675244-21]-[com.jfinal.core.ActionHandler.handle()]: /index?pageNumber=1
com.jfinal.template.stat.ParseException: #if parameter exists illegal char: '#'
Template: "/66/33/nscnb2.html". Line: 33
at com.jfinal.template.stat.Lexer.scanPara(Lexer.java:278)
at com.jfinal.template.stat.Lexer.scanDire(Lexer.java:160)
at com.jfinal.template.stat.Lexer.scan(Lexer.java:60)
at com.jfinal.template.stat.Parser.parse(Parser.java:89)
at com.jfinal.template.Engine.buildTemplateBySourceFactory(Engine.java:158)
在波总的指导下修改了代码,#if()#else#end语句应该没有错误,但是依然报错,修改后的代码及报错如下,:
<a href ="/index?pageNumber=#if((blogPage.getPageNumber()+1)>blogPage.getTotalPage()) blogPage.getTotalPage() #else (blogPage.getPageNumber()+1) #end"> 下一页 </a>
[ERROR]-[Thread: qtp474675244-18]-[com.jfinal.core.ActionHandler.handle()]: /index?pageNumber=(blogPage.getPageNumber()+1)
com.jfinal.core.ActionException: Can not parse the parameter "(blogPage.getPageNumber() 1)" to Integer value.
at com.jfinal.core.Controller.toInt(Controller.java:279)
at com.jfinal.core.Controller.getParaToInt(Controller.java:289)
at nsc66.controller.IndexController.index(IndexController.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
指令小括号内是纯正的表达式,容不得半点字符 #
字符 # 仅用于指令名的前缀,不能用于参数中,参数是纯表达式