激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java實現搜索功能代碼詳解

Java實現搜索功能代碼詳解

2021-03-08 12:06hpu145 Java教程

這篇文章主要介紹了Java實現搜索功能代碼詳解,實現思路小編給大家介紹的非常詳細,需要的朋友可以參考下

首先,我們要清楚搜索框中根據關鍵字進行條件搜索發送的是get請求,并且是向當前頁面發送get請求

?
1
2
3
4
5
6
//示例代碼 請求路徑為當前頁面路徑 "/product"
<!-- 搜索框 get請求 根據商品名稱的關鍵字進行搜索-->
<form action="/product" class="form-inline pull-left" >
  <input type="text" name="productname" placeholder="商品名稱" class="form-control" value="${param.productname}">
  <button class="btn btn-primary"><i class="fa fa-search"></i></button>
</form>

當我們要實現多條件搜索功能時,可以將搜索條件封裝為一個map集合,再根據map集合進行搜索

Java實現搜索功能代碼詳解

controller層代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@getmapping("/product")
  public string list(@requestparam(required = false,defaultvalue = "1",name = "p")integer pageno,
            @requestparam(required = false,defaultvalue = "")string productname,
            @requestparam(required = false,defaultvalue = "")string place,
            @requestparam(required = false,defaultvalue = "")integer typeid,
            @requestparam(required = false,defaultvalue = "")bigdecimal minprice,
            @requestparam(required = false,defaultvalue = "")bigdecimal maxprice,
            model model) {
    map<string,object> searchparam = new hashmap<>();
    searchparam.put("productname",productname);
    searchparam.put("place",place);
    searchparam.put("typeid",typeid);
    searchparam.put("minprice",minprice);
    searchparam.put("maxprice",maxprice);
    pageinfo<kaola> pageinfo = kaolaservice.findbypageno(pageno,searchparam);
    model.addattribute("pageinfo",pageinfo);
    return "product/list";
  }

業務層代碼:

?
1
2
3
4
5
public pageinfo<kaola> findbypageno(integer pageno, map<string, object> searchparam) {
    pagehelper.startpage(pageno,10);
    list<kaola> kaolalist = kaolamapper.findbysearchparamwithtype(searchparam);
    return new pageinfo<>(kaolalist);
}

mybatis中的mapper.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<select id="findbysearchparamwithtype" resulttype="com.kaishengit.entity.kaola">
    select
      kaola.*, kaola_type.id as 'kaolatype.id',
      kaola_type.type_name as 'kaolatype.typename',
      parent_id as 'kaolatype.parentid'
    from
      kaola
    inner join kaola_type on kaola.type_id = kaola_type.id
    <where>
      <if test="productname != null and productname != ''">
        kaola.product_name like concat('%',#{productname},'%')
      </if>
      <if test="place != null and place != ''">
        and kaola.place = #{place}
      </if>
      <if test="typeid != null and typeid != ''">
        and kaola.type_id = #{typeid}
      </if>
      <if test="minprice !=null and minprice != ''">
        <![cdata[ and kaola.price >= #{minprice} ]]>
      </if>
      <if test="maxprice !=null and maxprice != ''">
        <![cdata[ and kaola.price <= #{maxprice} ]]>
      </if>
    </where>
    order by kaola.id desc
</select>

這樣,就可以從前端到后端實現多條件搜索功能了。我們還會遇到這樣一種情況,在輸入搜索條件時,顯示列表會不斷自動刷新,這里其實用到了ajax的相關內容,在輸入的過程中,會不斷發出ajax請求,然后刷新頁面。

<input type="text" name="productname" placeholder="商品名稱" class="form-control" value="${param.productname}">
value="${param.productname}"
是從請求url的參數中獲取值,實現在輸入關鍵字搜索后刷新頁面顯示關鍵字這一功能,直接上圖:

Java實現搜索功能代碼詳解

在輸入中文關鍵字進行搜索時,可以使用encodeuricomponent解決url路徑顯示中文亂碼問題:

?
1
2
3
4
5
6
7
8
9
10
11
//分頁
$('#pagination-demo').twbspagination({
  totalpages: ${pageinfo.pages},
  visiblepages: 10,
  first:'首頁',
  last:'末頁',
  prev:'上一頁',
  next:'下一頁',
  href:"?productname="+encodeuricomponent('${param.productname}')+"&place="+encodeuricomponent('${param.place}')
  + "&typeid=${param.typeid}&minprice=${param.minprice}&maxprice=${param.maxprice}&p={{number}}"
});

Java實現搜索功能代碼詳解

點擊查看大圖

Java實現搜索功能代碼詳解

搜索結果

總結

以上所述是小編給大家介紹的java實現搜索功能代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.jianshu.com/p/a1e3034e9e42?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费男女视频 | 一区二区免费看 | 黄色av网站在线观看 | 热99视频 | av噜噜在线 | 海外中文字幕在线观看 | 91短视频版高清在线观看免费 | 亚洲男人天堂 | 日韩黄a| 主人在调教室性调教女仆游戏 | 国产精品999在线观看 | 国产亚洲欧美日韩高清 | 亚洲成人黄色片 | 日韩毛片免费观看 | 日本在线视频免费观看 | 亚洲精品久久久久久下一站 | 国产99视频精品免视看9 | 九九热免费精品 | 亚洲五码在线观看视频 | 欧美一级做一a做片性视频 黄色网址免费进入 | 国产1区2区在线 | 久久性生活免费视频 | 国产亚洲精品yxsp | 国内精品伊人久久久久网站 | 99国产精品国产免费观看 | 欧美性生交xxxxx免费观看 | 国产亚洲精品久久久久婷婷瑜伽 | 久久久久久久爱 | 久久艹精品视频 | 黄污网站在线观看 | 中国大陆一级毛片 | 中国老女人一级毛片视频 | 亚洲欧美不卡视频 | 毛片小网站 | 鲁丝片一区二区三区免费入口 | 大西瓜永久免费av在线 | 国产在线播放91 | 毛片免费在线视频 | 88xx成人永久免费观看 | 黄色毛片视频在线观看 | 久久另类视频 |