thymeleaf 的th:block用法

原创
2017/02/09 15:43
阅读数 2.4W

 

使用文档中的例子,之前没看到过这个用法.

 

有这么一个fragment 如下

<div th:fragment="page(baseUrl,page)" >
<ul class="pagination page-number" th:if="${page.getTotalPage()>1}">
           <li><a th:href="@{${baseUrl}(p=1)}" th:if="${page.isHasPre()}">首页</a></li>
           <li><a th:href="@{${baseUrl}(p=${page.getPageNumber()-1})}" th:if="${page.isHasPre()}">上一页</a></li>
           <li><a th:if="${page.getPageNumber()-5>0}">...</a></li>
           
           <li  th:each="i:${#numbers.sequence(page.getPageNumber()-4,page.getPageNumber()+4)}"
                th:class="${i==page.getPageNumber()?'active':''}"
                th:if="${i>0 and i< page.getTotalPage()+1}"
                >
            <a  th:href="@{${baseUrl}(p=${i})}"
               th:text="${i}"
           >1</a>
           </li>
          
           <li><a th:if="${page.getPageNumber()+4<page.getTotalPage()+1}">...</a></li>
          
           <li><a th:href="@{${baseUrl}(p=${page.getPageNumber()+1})}" th:if="${page.isHasNext()}">下一页</a></li>
           <li><a  th:href="@{${baseUrl}(p=${page.getTotalPage()})}" th:if="${page.isHasNext()}">末页</a></li>
           &nbsp;&nbsp;&nbsp;共<a href="#" th:text="${page.getTotalRow()}">232</a>条
           <label class="to">到第</label>
               <select id="pageNum" class="number">
                   <option th:each="i:${#numbers.sequence(1,page.getTotalPage())}"  th:value="${i}" th:text="${i}">1</option>
               </select> 
           <label>页</label>
           <input id="hiddenUrl" type="hidden" th:value="${baseUrl}">
           <input type="button" onclick="gopage()" class="btn" value="确定"/>
  </ul>
   <script type="text/javascript">
	  function gopage(){
		  var url=$("#hiddenUrl").val();
		  var pageNum=$("#pageNum").val();
		  if(url.indexOf("?")>0){
			  window.location.href=url+"&p="+pageNum;
		  }else{
			  window.location.href=url+"?p="+pageNum;
		  }
		 
	  }
  </script>
</div>

 

要在其他页面使用这个fragment

以前我可能会使用一个标签来引入  比如  <span th:include="xxxx"></span>

这样会造成页面有多余的span标签,当然官方的例子中是肯定不能这么用的,因为这个是在head中操作的.

官方给出的例子是可以这么使用    <th:block th:frament="" />

是不是很方便

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部