1. 程式人生 > >thymeleaf實現簡單的條件搜尋並分頁搜尋功能

thymeleaf實現簡單的條件搜尋並分頁搜尋功能

首先看一下模板:


大致就是可以通過上面的某個或者多個條件實現按條件分頁搜尋的功能。因為前端介面用的是HTML並沒有用jsp所以沒辦法使用c:標籤,那麼怎麼通過thymeleaf實現jsp的功能呢?

好吧看一下程式碼:

<form th:action="@{/person/search}" class="form-inline" th:method="post" id="search-form">
    <input type="hidden" name="page" th:value="${page.number}">
    <div class="form-group form-group-sm"
> <label>調查物件</label> <input type="text" class="form-control width-80" name="fullName" th:value="${search}?${search.fullName}"> </div> <div class="form-group form-group-sm"> <label>身份證</label> <input type="text" class=
"form-control" name="idCode" th:value="${search}?${search.idCode}"> </div> <div class="form-group form-group-sm" th:switch="${search}?${search.gender}"> <label>性別</label> <span th:case=null> <label class="radio-inline"> <input
type="radio" name="gender" value="男"> </label> <label class="radio-inline"> <input type="radio" name="gender" value="女"> </label> </span> <span th:case="'男'"> <label class="radio-inline"> <input type="radio" name="gender" value="男" checked="checked"> </label> <label class="radio-inline"> <input type="radio" name="gender" value="女"> </label> </span> <span th:case="'女'"> <label class="radio-inline"> <input type="radio" name="gender" value="男"> </label> <label class="radio-inline"> <input type="radio" name="gender" value="女" checked="checked"> </label> </span> </div> <div class="form-group form-group-sm"> <label>聯絡方式</label> <input type="text" class="form-control width-120" name="telephone" th:value="${search}?${search.telephone}"> </div> <div class="form-group form-group-sm"> <label>調查時間</label> <input type="text" class="form-control width-100 text-center date-picker" name="startDate" th:value="${#calendars.format(search.startDate,'yyyy-MM-dd')}"> - <input type="text" class="form-control width-100 text-center date-picker" name="endDate" th:value="${#calendars.format(search.endDate,'yyyy-MM-dd')}"> </div> <div class="form-group form-group-sm"> <input type="submit" value="查詢" class="btn btn-primary btn-sm"> <!--<a class="btn btn-primary btn-sm">查詢</a>--> <!-- <a th:href="javascript:document.getElementById('orderForm').submit()" class="btn btn-success btn-sm">查詢</a>--> </div> </form>
ok,大致就是這樣的,因為我們點選下一頁的時候要保證之前選中的條件還存在使用每個標籤的value值就是我們之前選中的值,search是我們自定義的一個查詢類裡面封裝了一些查詢的屬性也就是上面圖片裡的查詢條件。

我想講的是th:switch 和th:case這兩個我們可以通過判讀switch中的值來確定我們那個單選框是選中的(找了半天突然想到了,網上都是用的下拉選項和CheckBox...)

還有一個就是thymeleaf中的日期轉換了也很簡單 其中的search.startDate 就是我們search類中的屬性。