내가보려고 쓰는 페이징 유틸이다. 기존소스를 일부 수정 이다.
public class PagingUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(PagingUtil.class.getName());
public static void setPagingLimitValues(Map<String, Object> data, int pRowCount) {
// 현제 페이지수
int cPage = Integer.parseInt(nvl(data.get("cPage"), "1"));
// 한페이지에 보여질 데이터 수
int rowCount = 10;
if(pRowCount > 0){
rowCount = pRowCount;
} else{
rowCount = Integer.parseInt("10");
}
if (cPage < 1) cPage = 1;
data.put("cPage", cPage);
data.put("offset", (cPage - 1) * rowCount);
data.put("rowCount", rowCount);
}
public static void setPagingLimitValue(Map<String, Object> data) {
if (data.containsKey("rowCount") && data.get("rowCount") != null) {
String rowCountString = data.get("rowCount").toString().trim();
if (!rowCountString.isEmpty()) {
try {
int rowCount = Integer.parseInt(rowCountString);
setPagingLimitValues(data, rowCount);
} catch (NumberFormatException e) {
e.printStackTrace();
setPagingLimitValues(data, 10); // Set a default value, or handle it in another way
}
} else {
setPagingLimitValues(data, 10); // Set a default value, or handle it in another way
}
} else {
setPagingLimitValues(data, 10); // Set a default value, or handle it in another way
}
}
public static String nvl(Object obj, String nullVal) {
if(obj == null)
return nullVal;
if(isEmpty(obj)) {
return nullVal;
} else {
if(obj instanceof java.math.BigDecimal) {
double d = ((java.math.BigDecimal)obj).doubleValue();
return String.valueOf(d);
}
else if(obj instanceof Integer) {
int i = ((Integer)obj).intValue();
return String.valueOf(i);
}
else if(obj instanceof Long) {
long l = ((Long)obj).longValue();
return String.valueOf(l);
}
return (String)obj;
}
}
public static boolean isEmpty(Object obj) {
if(obj == null)
return true;
String val = "";
if(obj instanceof java.math.BigDecimal) {
double d = ((java.math.BigDecimal)obj).doubleValue();
val = String.valueOf(d);
} else if(obj instanceof Integer) {
int i = ((Integer)obj).intValue();
val = String.valueOf(i);
} else if(obj instanceof java.lang.Double) {
double i = ((Double)obj).doubleValue();
val = String.valueOf(i);
} else if(obj instanceof java.lang.Long) {
double i = ((Long)obj).longValue();
val = String.valueOf(i);
} else {
val = (String)obj;
}
if(val.equals(""))
return true;
else
return false;
}
}
화면부분에서 별도로 페이지수와 리스트 갯수가 지정되지 않았을시,
리스트 쿼리 호출부분 하단에
'개발 > BackEnd' 카테고리의 다른 글
XSSFDrawing 사용 엑셀 메모박스 만들기 (0) | 2023.04.28 |
---|---|
poi HSSF 사용시 Excel DropDownListBox 사용 (java 엑셀 드롭다운, 셀렉트박스) (0) | 2023.04.28 |
트랜잭션(Transaction)처리 하기 (0) | 2022.01.26 |
The maximum column width for an individual cell is 255 characters. 엑셀 다운로드시 Error (0) | 2021.10.01 |