Thymeleaf表更新,无需重新加载页面

时间:2019-02-16 13:44:23

标签: javascript ajax spring-boot thymeleaf

我正在渲染带有百里香属性的数据。但是我现在正在实现“搜索”按钮,并且希望在不重新加载的情况下进行操作。

我有一个属性depatments,该属性从数据库渲染了List<Department> 我知道如何通过 ajax 做到这一点,但是随后我需要用RestController替换属性,RestController会给我JSON。 是否可以在不重新加载页面的情况下从属性中获取数据? Ajax,js还是其他? 谢谢

1 个答案:

答案 0 :(得分:1)

是的,您可以通过使用fragment和ajax来实现。在您的控制器中

@GetMapping("/url")
public ModelAndView getResultBySearchKey()
    {
        List<depatments> areaList= new ArrayList<>();//results from db
        ModelAndView mv= new ModelAndView("search::search_list"); 
        mv.addObject("searchList",areaList);

        return mv;
    }

,然后在您的search.html中添加以下代码。并且不要忘记使用内联javascript。

function loadSearchResult()
    		{
    			
    		 $.ajax({
    			  type: 'get',
    			  url: /*[[ @{'/url'} ]]*/,
    			
    			  success: function(data){
    				
    				  /*<![CDATA[*/
    				  
    				  
    				  $('.search_list').html(data);
    				  
    				  
    				  /*]]>*/
    				},
    			  
    			})
    			
    		}
<button class="btn btn-primary btn-sm"
th:onclick="'loadSearchResult();'">Search</button>
    <div class="row">


      <div class="col-md-12 search_list">
       <div class="table-responsive" th:fragment="search_list">
         <table
         class="table  table-bordered ">
           <thead>
             <tr>
               <th>SL No.</th>
               <th>Actions</th>
               <th>Name</th>
             </tr>
           </thead>
        <tbody>
    <!-- your desired rows-->
        </tbody>