我正在渲染带有百里香属性的数据。但是我现在正在实现“搜索”按钮,并且希望在不重新加载的情况下进行操作。
我有一个属性depatments
,该属性从数据库渲染了List<Department>
我知道如何通过 ajax 做到这一点,但是随后我需要用RestController替换属性,RestController会给我JSON。
是否可以在不重新加载页面的情况下从属性中获取数据? Ajax,js还是其他?
谢谢
答案 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>