jfinal 关于多字段搜索结合分页的解决办法
2018-08-23 11:06
381 查看
先上要实现的效果图,列表页搜索多个字段;并且分页
![](https://oscimg.oschina.net/oscnet/67191493952c77932cb5855796ce8eee08f.jpg)
步骤1:模板部分代码,本人用的ZUI啊,模板里直接form提交 如下:
<form action="/admin/article/">
<div class="row">
<div class="col-md-6">
<select data-placeholder="选择主分类..." id="maincategory" name="categoryid" class="chosen-select form-control" tabindex="2">
<option value="">全部</option>
#for(x : mtreelist)
<option value="#(x.id)" #(selectcategory==x.id?'selected':'') cdata="#(x.Insuranceplan)">#(x.categoryname)-#(x.id)</option>
#if(x.nonmemu!=null) #for(y : x.nonmemu)
<option value="#(y.id)" #(selectcategory==y.id?'selected':'') cdata="#(x.Insuranceplan)"> ─#(y.categoryname)-#(x.id)</option>
#if(y.nonmemu!=null) #for(z : y.nonmemu)
<option value="#(z.id)" #(selectcategory==z.id?'selected':'') cdata="#(x.Insuranceplan)"> ──#(z.categoryname)-#(x.id)</option>
#end #end #end #end #end
</select>
</div>
<div class="col-md-6">
<div class="input-group">
<div class="input-control search-box has-icon-left has-icon-right search-example" id="searchboxExample">
<input id="inputSearchExample4" value="#(selectckeyword??)" name="keyword" type="search" class="form-control search-input" placeholder="搜索">
<label for="inputSearchExample4" class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label>
</div>
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">搜索</button>
</span>
</div>
</div>
</div>
</form>
步骤2:分页如何带参
#set(append = "?categoryid=" + selectcategory + "&keyword=" + selectckeyword)
#@paginate(articlelist.pageNumber, articlelist.totalPage, "/admin/article/")
步骤3:后天对分页的接收
public int getCategoryid() {
return categoryid;
}
public void setCategoryid(int categoryid) {
this.categoryid = categoryid;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
private int categoryid=0;
private String keyword;
public void index(){
System.out.print(getPara("categoryid"));
if(getPara("categoryid")!=null&&!"".equals(getPara("categoryid"))){
setCategoryid(Integer.valueOf(getPara("categoryid")));
}
setKeyword(getPara("keyword"));
setAttr("mtreelist",srv_cate.getTreeMemu());//文章没有扩展分类
setAttr("selectcategory",this.getCategoryid());
setAttr("selectckeyword",getPara("keyword"));
setAttr("articlelist",srv.paginate(getParaToInt(0, 1), 5,this.getCategoryid(),this.getKeyword()));
render("/___admin/article.html");
}
不知道看官门可否看懂,关键代码加红了哦。
![](https://oscimg.oschina.net/oscnet/67191493952c77932cb5855796ce8eee08f.jpg)
步骤1:模板部分代码,本人用的ZUI啊,模板里直接form提交 如下:
<form action="/admin/article/">
<div class="row">
<div class="col-md-6">
<select data-placeholder="选择主分类..." id="maincategory" name="categoryid" class="chosen-select form-control" tabindex="2">
<option value="">全部</option>
#for(x : mtreelist)
<option value="#(x.id)" #(selectcategory==x.id?'selected':'') cdata="#(x.Insuranceplan)">#(x.categoryname)-#(x.id)</option>
#if(x.nonmemu!=null) #for(y : x.nonmemu)
<option value="#(y.id)" #(selectcategory==y.id?'selected':'') cdata="#(x.Insuranceplan)"> ─#(y.categoryname)-#(x.id)</option>
#if(y.nonmemu!=null) #for(z : y.nonmemu)
<option value="#(z.id)" #(selectcategory==z.id?'selected':'') cdata="#(x.Insuranceplan)"> ──#(z.categoryname)-#(x.id)</option>
#end #end #end #end #end
</select>
</div>
<div class="col-md-6">
<div class="input-group">
<div class="input-control search-box has-icon-left has-icon-right search-example" id="searchboxExample">
<input id="inputSearchExample4" value="#(selectckeyword??)" name="keyword" type="search" class="form-control search-input" placeholder="搜索">
<label for="inputSearchExample4" class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label>
</div>
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">搜索</button>
</span>
</div>
</div>
</div>
</form>
步骤2:分页如何带参
#set(append = "?categoryid=" + selectcategory + "&keyword=" + selectckeyword)
#@paginate(articlelist.pageNumber, articlelist.totalPage, "/admin/article/")
步骤3:后天对分页的接收
public int getCategoryid() {
return categoryid;
}
public void setCategoryid(int categoryid) {
this.categoryid = categoryid;
}
public String getKeyword() {
return keyword;
}
public void setKeyword(String keyword) {
this.keyword = keyword;
}
private int categoryid=0;
private String keyword;
public void index(){
System.out.print(getPara("categoryid"));
if(getPara("categoryid")!=null&&!"".equals(getPara("categoryid"))){
setCategoryid(Integer.valueOf(getPara("categoryid")));
}
setKeyword(getPara("keyword"));
setAttr("mtreelist",srv_cate.getTreeMemu());//文章没有扩展分类
setAttr("selectcategory",this.getCategoryid());
setAttr("selectckeyword",getPara("keyword"));
setAttr("articlelist",srv.paginate(getParaToInt(0, 1), 5,this.getCategoryid(),this.getKeyword()));
render("/___admin/article.html");
}
不知道看官门可否看懂,关键代码加红了哦。
相关文章推荐
- 关于AspNetPager 采用URL分页时 执行两次绑定的解决办法
- 关于chm文件索引丢失和不能搜索的解决办法
- SQL 搜索中文字段,搜不到的解决办法
- 关于ligerui 中 grid 表格的扩展搜索功能在远程数据加载时无法使用的解决办法
- BootStrap Table 分页后重新搜索问题的解决办法
- 关于sed命令去除文本当中每个字段前后空格及tab效率低下的解决办法
- 关于jFinal开发中遇到的中文乱码问题解决办法
- 关于Delphi中RS Float字段只有4位及OADateTime不能显示到秒的解决办法
- 关于MySQL中不能显示TEXT字段的解决办法
- JFinal针对ORACLE的timestamp字段解决办法
- 关于数据库字段不是主键但是也不能重复的问题解决办法?
- 关于JFinal的单个input标签type=file的multiple="multiple"多图片上传,每次只接收到一个uploadFile对象的解决办法。
- 解决Gridview在搜索后,分页点击失效的解决办法
- 关于开源项目侧边栏字母搜索列表ListViewFilter的bug解决办法
- 关于jFinal开发中遇到的中文乱码问题解决办法
- 关于用sql语句select多个字段,该使用什么接收的解决办法
- 关于asp.net结合jquery时服务器控件id的解决办法
- BootStrap Table 分页后重新搜索问题的解决办法
- 关于sql字符串字段的模糊查询与字符串字段里筛选部分值的记录的解决办法
- 【技术贴】关于百度搜索框打不上任何文字的解决办法。。。