以下代码适用于负责分页的网站等分类广告。现在,如果城市页面没有广告,我会收到以下错误。
There was an unexpected error (type=Internal Server Error, status=500).
Exception evaluating SpringEL expression: "#numbers.sequence(pager.startPage, pager.endPage)" (city:74)
如果语句是Thymeleaf,是否存在块样式,这样如果该城市不存在广告,我可以阻止从pagation运行的任何内容?
相关代码
<div class="row">
<div th:if="${ads.totalPages != 1}"
class="form-group col-md-11 pagination-centered">
<ul class="pagination">
<li th:class="${ads.number == 0} ? disabled"><a
class="pageLink" th:href="1">«</a></li>
<li th:class="${ads.number == 0} ? disabled"><a
class="pageLink" th:href="${ads.number}">←</a></li>
<li
th:class="${ads.number == (page - 1)} ? 'active pointer-disabled'"
th:each="page : ${#numbers.sequence(pager.startPage, pager.endPage)}">
<a class="pageLink"
th:href="@{${'/' + cityForPage + '/{page}'}(page=${page})}"
th:text="${page}"></a>
</li>
<li th:class="${ads.number + 1 == ads.totalPages} ? disabled">
<a class="pageLink"
th:href="@{${'/' + cityForPage + '/{page}'}(page=${ads.number + 2})}">→</a>
</li>
<li th:class="${ads.number + 1 == ads.totalPages} ? disabled">
<a class="pageLink"
th:href="@{${'/' + cityForPage + '/{page}'}(page=${ads.totalPages})}">»</a>
</li>
</ul>
</div>
</div>
答案 0 :(得分:0)
您在寻找<th:block />
吗?你可以在html的一部分中加上一个:如果在其中。
答案 1 :(得分:0)
如果您在发布的代码块之外的城市上进行迭代,例如,您的Collection
对象上有类似ads
属性city
的内容,则可以执行此操作:
<div th:each="city : ${cities}" th:remove="tag">
<div class="row" th:if="${!#lists.isEmpty(city.ads)}">
<div th:if="${ads.totalPages != 1}"
class="form-group col-md-11 pagination-centered">
<!-- the rest of your HTML... -->
</div>
</div>
</div>
或者,如果您正在拨打服务,则只需将city.ads
和外部循环替换为相关的呼叫即可。无论如何,您可能正在检查某些集合或列表是否为空。
除此之外:我将page
变量重命名为pageNumber
或pageNo
,以便为下一个人更加清晰。