|
|
@ -5,6 +5,7 @@ import java.io.FileInputStream;
|
|
|
|
import java.io.InputStream;
|
|
|
|
import java.io.InputStream;
|
|
|
|
import java.net.URLEncoder;
|
|
|
|
import java.net.URLEncoder;
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Collection;
|
|
|
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
@ -141,6 +142,44 @@ public abstract class AbstractController extends AbstractComponent {
|
|
|
|
.addObject(prefix + "Total", bounded.getTotalSize());
|
|
|
|
.addObject(prefix + "Total", bounded.getTotalSize());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**ModelAndView에 list와 페이징 정보를 설정한다.<br />
|
|
|
|
|
|
|
|
* 예를 들어 <code>setPagingInfo(mav, list, "prefix")</code>와 같이 호출하면
|
|
|
|
|
|
|
|
* mav에 다음과 같이 설정한다.
|
|
|
|
|
|
|
|
* <pre><code>{
|
|
|
|
|
|
|
|
* "prefixList": list,
|
|
|
|
|
|
|
|
* "prefixPagingInfo": {
|
|
|
|
|
|
|
|
* "start": list.getStart(),
|
|
|
|
|
|
|
|
* "fetchSize": list.getFetchSize(),
|
|
|
|
|
|
|
|
* "totalSize": list.getTotalSize()
|
|
|
|
|
|
|
|
* }
|
|
|
|
|
|
|
|
* }</code></pre>
|
|
|
|
|
|
|
|
* @param mav ModelAndView
|
|
|
|
|
|
|
|
* @param collection Collection
|
|
|
|
|
|
|
|
* @param prefix 접두어
|
|
|
|
|
|
|
|
* @return ModelAndView
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
protected ModelAndView setPagingInfo(ModelAndView mav, Collection<?> collection, String prefix) {
|
|
|
|
|
|
|
|
if (collection instanceof BoundedList) {
|
|
|
|
|
|
|
|
BoundedList<?> bounded = (BoundedList<?>)collection;
|
|
|
|
|
|
|
|
Map<String, Object> map = Map.of(
|
|
|
|
|
|
|
|
"start", bounded.getStart(),
|
|
|
|
|
|
|
|
"totalSize", bounded.getTotalSize(),
|
|
|
|
|
|
|
|
"fetchSize", bounded.getFetchSize()
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
mav.addObject(prefix + "List", bounded)
|
|
|
|
|
|
|
|
.addObject(prefix + "PagingInfo", map);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
Map<String, Object> map = Map.of(
|
|
|
|
|
|
|
|
"start", 0,
|
|
|
|
|
|
|
|
"totalSize", collection.size(),
|
|
|
|
|
|
|
|
"fetchSize", collection.size()
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
mav.addObject(prefix + "List", collection)
|
|
|
|
|
|
|
|
.addObject(prefix + "PagingInfo", map);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return mav;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**한 번에 반환할 조회 결과의 수를 설정한다.<br />
|
|
|
|
/**한 번에 반환할 조회 결과의 수를 설정한다.<br />
|
|
|
|
* <ul><li>fetchAll이 true이면 모든 조회 결과 반환</li>
|
|
|
|
* <ul><li>fetchAll이 true이면 모든 조회 결과 반환</li>
|
|
|
|
* <li>그렇지 않으면
|
|
|
|
* <li>그렇지 않으면
|
|
|
|