티스토리 뷰
[Class]
public class Paging
{
/// <summary>
/// 현재 페이지 번호
/// </summary>
public long CurrentPageNumber { get; set; }
/// <summary>
/// 총 페이지 갯수
/// </summary>
public long TotalPage { get; set; }
/// <summary>
/// 시작 페이지 번호
/// </summary>
public long StartPageNumber { get; set; }
/// <summary>
/// 끝 페이지 번호
/// </summary>
public long EndPageNumber { get; set; }
/// <summary>
/// uri
/// </summary>
public string Uri { get; set; }
/// <summary>
/// 쿼리 문자열
/// </summary>
public string QueryString { get; set; }
/// <summary>
/// 쿼리 문자열(ajax)
/// </summary>
public string QueryStringByAjax { get; set; }
/// <summary>
/// 페이징 처리를 한다.
/// </summary>
/// <param name="totalRows">총 행의 수</param>
/// <param name="pageSize">한 페이지에 출력할 행의 수</param>
/// <param name="currentPage">현재 페이지 번호</param>
/// <param name="blockSize">페이징수</param>
public Paging(long totalRows, long pageSize, long currentPage, long blockSize)
{
long totalPage = (long)Math.Ceiling((double)totalRows / pageSize);
long currentPageBlock = (long)Math.Ceiling((double)currentPage / blockSize);
long startPageNumber = ((currentPageBlock - 1) * blockSize) + 1;
long endPageNumber = (startPageNumber + blockSize) - 1 <= totalPage ? (startPageNumber + blockSize) - 1 : totalPage;
this.CurrentPageNumber = currentPage;
this.TotalPage = totalPage;
this.StartPageNumber = startPageNumber;
this.EndPageNumber = endPageNumber;
}
}
[Pagination]
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TOTO_DISK.Entity.Paging>" %>
<%
long previousNumber = Model.CurrentPageNumber > 1 ? Model.CurrentPageNumber - 1 : 1;
long nextNumber = Model.CurrentPageNumber < Model.TotalPage ? Model.CurrentPageNumber + 1 : Model.TotalPage;
bool isPrevious1 = Model.CurrentPageNumber > 1 ? true : false;
bool isPrevious5 = Model.CurrentPageNumber > 5 ? true : false;
string previewCss1 = isPrevious1 ? "btn_prev_on" : "btn_prev";
string previewCss5 = isPrevious5 ? "btn_prev_on2" : "btn_prev2";
bool isNext1 = Model.CurrentPageNumber < Model.TotalPage ? true : false;
bool isNext5 = Model.CurrentPageNumber <= (Model.TotalPage - 5) ? true : false;
string nextviewCss1 = isNext1 ? "btn_next_on" : "btn_next";
string nextviewCss5 = isNext5 ? "btn_next_on2" : "btn_next2";
%>
<div class="list_paging">
<div class="inner_paging">
<!-- previous -->
<a id="previous5" data-pagenumber="<%=(previousNumber - 4)%>"><span class="ico0_all <%=previewCss5%>">맨처음페이지</span></a>
<a id="previous" data-pagenumber="<%=previousNumber%>"><span class="ico_all <%=previewCss1%>">이전페이지</span></a>
<!-- previous -->
<span class="count_page">
<ul>
<% for (long i = Model.StartPageNumber; i <= Model.EndPageNumber; i++) { %>
<% if(Model.CurrentPageNumber == i) { %>
<li class="on"><%= i %></strong></li>
<% } else { %>
<li><a name="pageNumber" data-pagenumber="<%=i%>"><%= i %></a></li>
<% } %>
<% } %>
</ul>
</span>
<!-- next -->
<a id="next" data-pagenumber="<%=nextNumber%>"><span class="ico_all <%=nextviewCss1%>">다음페이지</span></a>
<a id="next5" data-pagenumber="<%=(nextNumber + 4)%>"><span class="ico_all <%=nextviewCss5%>">맨마지막페이지</span></a>
<!-- next -->
</div>
</div>
<script type="text/javascript">
$(function() {
// 페이징 클릭 이벤트(번호)
$("a[name='pageNumber']").on("click", function() {
getContents($(this).data("pagenumber"));
});
// 페이징 클릭 이벤트(previous) - 1
$("#previous").on("click", function() {
var isPrevious1 = "<%= isPrevious1 %>";
if (isPrevious1 === "True") {
getContents($(this).data("pagenumber"));
}
});
// 페이징 클릭 이벤트(previous) - 5
$("#previous5").on("click", function() {
var isPrevious5 = "<%= isPrevious5 %>";
if (isPrevious5 === "True") {
getContents($(this).data("pagenumber"));
}
});
// 페이징 클릭 이벤트(next) + 1
$("#next").on("click", function() {
var isNext1 = "<%= isNext1 %>";
if (isNext1 === "True") {
getContents($(this).data("pagenumber"));
}
});
// 페이징 클릭 이벤트(next) + 5
$("#next5").on("click", function() {
var isNext5 = "<%= isNext5 %>";
if (isNext5 === "True") {
getContents($(this).data("pagenumber"));
}
});
});
</script>
- Total
- Today
- Yesterday
- jsp 오픈 소스
- 표현 언어(expression language)
- await
- java 키워드 정리
- 진수 변환
- jstl(java standard tag library)
- nl2br
- jstl(java standard tag library)-core
- REST API
- 제품 등록
- In App Purchase
- java web-mvc
- .submit()
- system.io
- 람다식(lambda expression)
- 스프링 시큐리티(spring security)-http basic 인증
- 문자 자르기
- 스프링 프레임워크(spring framework)
- java-개발 환경 설정하기
- 특정 문자를 기준으로 자르기
- 스프링 프레임워크(spring framewordk)
- MainActor
- error-java
- System.Diagnostics
- 인텔리제이(intellij)
- docker
- 스프링 시큐리티(spring security)
- java.sql
- React
- 메이븐(maven)
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |