2015-04-18 17 views
0

讓我清楚地解釋我在做什麼以及我想實現什麼。我有jsp頁面,它包含兩個下拉菜單以及一個帶有四列的搜索按鈕和一個表格。 兩個表列數據與下拉數據相同。jsp下拉菜單中的搜索功能spring MVC

最初,當jsp加載時,這些下拉列表設置爲ALL,並且默認情況下,所有結果都顯示在jsp表中,單個查詢觸發到DB。

我想要什麼時候在兩個下拉列表中選擇一個特定的項目。我想在表格中顯示與此搜索相關的結果。

我是否需要爲每個搜索啓動查詢?因爲我在開始時已經獲得了全部數據。

任何幫助將不勝感激?

+0

它取決於行數。最高金額是多少? – andybeli

+0

你的意思是行數?這取決於它的未來可能會發展良好。 – rakeeee

+0

您不必爲每個搜索啓動數據庫查詢。而是您可以在從數據庫檢索值後將值保存在Pojo中。然後,當您輸入搜索按鈕時,您可以對此pojo進行過濾並將更新後的tableObject返回給您的View頁 – Thomas

回答

0

一旦你從數據庫獲取所有數據在一個POJO

    1. 存儲值一旦您的下拉填充並按下搜索按鈕
    2. 去一個Ajax調用,並通過您的下拉選擇您的控制器
    3. 根據您的下拉列表篩選您的新ArrayList \ Object選擇並更新 您的對象,其中包含填充您的表所需的值
    4. 在返回到您的jsp時使用更新的對象填充表。

    Ajax代碼

    $.ajax({ 
         url:'filterTableData.do', 
         cache:false, 
         type: 'POST', 
         dataType: 'text', 
         data: ({'dropdownValue1' : dropdownValue1 ,'dropdownValue2' : dropdownValue2 }), 
         error: function (res, textStatus, errorThrown) { 
           alert(' Error :' + errorThrown); 
         }, 
         success: function(res){      
           window.location.replace("jsptobedisplayed.do"); 
         } 
         }); 
    

    Java代碼 -

    @RequestMapping("/filterTableData") 
    @ResponseBody 
    public String deleteProd(@RequestParam String dropdownValue1,@RequestParam String dropdownValue2){ 
    ----> your logic <--------} 
    

    備用是是,一旦你按下搜索,然後再回到Java和基於下拉的價值和收益做了過濾器更新後的表格對象並填充表格。