spring mvc整合datatable实现分页为什么不分页
MVC项目中有的时候List的条数比较多,需要分页显示,可以用如下的办法:
1、写一个简单PaginatedList 辅助类:
public class PaginatedList : List {
public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
public int TotalPages { get; private set; }
public PaginatedList(IQueryable source, int pageIndex, int pageSize) {
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = source.Count();
TotalPages = (int) Math.Ceiling(TotalCount / (double)PageSize);
this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize));
}
public bool HasPreviousPage {
get {
return (PageIndex > 0);
}
}
public bool HasNextPage {
get {
return (PageIndex+1 < TotalPages);
}
}
}
2、Controller中使用这个PaginatedList 类来返回View:
public ActionResult Index(int? page) {
const int pageSize = 10;
var upcomingDinners = dinnerRepository.FindUpcomingDinners();
var paginatedDinners = new PaginatedList(upcomingDinners, page ?? 0,pageSize);
return View(paginatedDinners);
}
3、View中实现导航链接的Code如下:
<%= Html.RouteLink("<<<", "UpcomingDinners", new { page =
(Model.PageIndex-1) }) %>
>>", "UpcomingDinners", new { page = (Model.PageIndex +
1) }) %>
spring mvc + velocity整合,修改vm文件刷新不生效的问题
input.encoding=UTF-8
output.encoding=UTF-8
resource.loader=class
class.resource.loader.public.name = String Template
class.resource.loader.description = Velocity String Template Resource Loader
class.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
class.resource.loader.cache = false
class.resource.loader.modificationCheckInterval = 60
velocimacro.library=

