String hql = " from Post post where post.status = 1 order by post.createDate desc ";
List<Post> postList = baseDao.findByMaxResults(limit, hql);
IteratorStatus.StatusState state = new IteratorStatus.StatusState();
for (int i = 0; i < postList.size(); i++) {
Post post = postList.get(i);
if (i == (postList.size() - 1)) {// 设置最后一页.
state.setLast(true);
}
// 设置变量
env.setVariable("status",
DEFAULT_WRAPPER.wrap(new IteratorStatus(state)));
env.setVariable("post", DEFAULT_WRAPPER.wrap(post));
body.render(env.getOut());
// 迭代器往后.
state.next();
String prevUrl = null;
String nextUrl = null;
if (i != 0) {
// 前一个url.
Post postTemp = postList.get(i - 1);
prevUrl = postTemp.getUrl();
}
if (i != (postList.size() - 1)) {
// 后一个url.
Post postTemp = postList.get(i + 1);
nextUrl = postTemp.getUrl();
}
Map<String, Object> rootPost = new HashMap<String, Object>();
rootPost.put("prevUrl", prevUrl);
rootPost.put("nextUrl", nextUrl);
// 使用自定义模板postList