Парень должен быть работой, которую мы часто выполняем при разработке веб -приложений. Очень важно иметь возможность реализовать страницы с базами данных и просмотреть слои относительно простым способом.
В уровне базы данных используйте Hibernate, чтобы нанести на стражу базу данных и инкапсулировать данные, запрошенные из базы данных в Javabeans; В слое просмотра можно легко реализовать пейджинг.
Создать страницу
пакет com.fishing.common.bean; импортировать java.util.list; @Suppresswarnings ("unchecked") открытый класс PageBean {Private List List; // Список записей, которые будут возвращены частным int allrow; // Общая записи частная общая страница; // Общая страница частная Int CurrentPage; // текущая страница private int pageSize; // количество записей на страницу частная логическая страница; // будь то первая страница частной логической Islastpage; // будь то последняя страница частной логической логины; // Есть ли предыдущая страница частная логическая HasnextPage; // Есть ли следующая страница публичного списка GetList () {return List; } public void SetList (список) {this.list = list; } public int getallrow () {return allrow; } public void setallrow (int allrow) {this.allrow = allrow; } public int getTotalPage () {return TotalPage; } public void cetTotoTalPage (int totalPage) {this.TotalPage = totalPage; } public int getCurrentPage () {return CurrentPage; } public void setCurrentPage (int currentPage) {this.currentPage = currentPage; } public int getPageSize () {return PageSize; } public void setPagesize (int pageSize) {this.pagesize = pagesize; } / *** / / ***Информация о подготовке инициализации* / public void init () {this.isfirstpage = isfirstpage (); this.islastPage = iSlastPage (); this.haspreviouspage = ishaspReviousPage (); this.hasNextPage = iShasNextPage (); }/ ** */// ** * Следующее, чтобы судить информацию о странице, просто метод Getter (IS Method) * * @return */ public boolean isfirstpage () {return (currentPage == 1); // Если текущая страница является первой страницей} public Boolean IslastPage () {return -curityPage == TotalPage; // Если текущая страница является последней страницей} public boolean iShaspReviousPage () {return CurrentPage! = 1; // до тех пор, пока текущая страница не является первой страницей} public boolean iShasNextPage () {return CurrentPage! = TotalPage; // до тех пор, пока текущая страница не является последней страницей}/***//**** Рассчитайте общее количество страниц, статический метод и напрямую называется внешним именем класса** @param pageize* Количество записей на страницу* @param allrow* total Records* @return Total Pages*/public Static Countolpage (final PageSize, final int alloWARE) in int int alloWAGE) in int int all -allowage) in int int -allowage) in int int all -allowage) in int int all PageSize == 0? AllRow / PageSize: AllRow / PageSize + 1; вернуть общую страницу; } / *** / / / *** Рассчитайте начальную запись текущей страницы** @param pageize* Номер записей на страницу* @param CurrentPage* Current Page* @return Текущая страница Номер начала записи* / public int countoffet (final int pagesize, final int currentpage) {final int oft oft off = pagesize* (currentPage - 1); вернуть смещение; } /*** / /*** Рассчитайте текущую страницу. Если это 0 или нет «? Page =» в запрошенном URL, то 1 используется вместо этого * * @param Page * ПРОДОЖАТЕЛЬСТВО (возможно, пусто, то есть 0, затем 1 будет возвращен) * @return Текущая страница */ public int countcurrentpage (int page) {final int curpage = (page == 0? 1: Page); вернуть сукпейн; }} Добавить методы в абстрактный интерфейс DAO на основании:
Public List QueryForpage (Final String HQL, Final Int Offset, Final Int Length); Implement method in Dao's implementation class JianSheDWDaoImpl public List queryForPage(final String hql, final int offset, final int length) { List list = getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); Query.setfirstresult (Offset); вернуть список; } Добавьте методы к интерфейсу уровня абстракции сервисной абстракции Jianshedwservice:
Public PageBean QueryForpage (int PageSize, Int CurrentPage);
Реализовать методы в классе реализации услуг:
public pagebean QueryForpage (int pagesize, int page) {final String hql = "от jianshedwbean"; // Запрос оператора int allrow = this.basedao.getallrowcount (hql); // Total Records int totalPage = PageBean.CountTotalPage (PageSize, AllRow); // Общее количество страниц окончательное int offset = pagebean.countoffset (pagesize, page); // текущая страница начинает записывать окончательную int length = pagesize; // количество записей на страницу окончательная int currentpage = pagebean.countcurrentpage (page); Список <jianshedwbean> list = this.basedao.queryforpage (hql, offset, длина); // Запись "One Page" // Сохранить информацию о пейджинге на странице Beanbebean = new PageBean (); PageBean.SetPagesize (PageSize); PageBean.SetCurrentPage (CurrentPage); pagebean.setallrow (allrow); PageBean.SetTotalPage (TotalPage); pagebean.setlist (list); pagebean.init (); возврат страницы; } Создать модель страниц в поле зрения.
пакет com.fishing.action.lcq; Import com.fishing.common.bean.jianshedwbean; Import com.fishing.common.bean.pagebean; Import com.fishing.service.lcq.jianshedwservice; Import Com.OpensyMphony.xwork2.ActionsUpport; @Suppresswarnings ("serial") открытый класс getInfojsdwlistact extends actionsupport {private int page; // какая страница частная страница страница; // Бин, содержащий информацию о распределении, Частный jianshedwbean jianshedwbean; // частная страница страницы; Частный Jianshedwservice Jianshedwservice; public int getPage () {return Page; } public void set -page (int page) {this.page = page; } public PageBean getPageBean () {return PageBean; } public void setPageBean (PageBean PageBean) {this.pagebean = pageBean; } public jianshedwbean getjianshedwbean () {return jianshedwbean; } public void setjianshedwbean (jianshedwbean jianshedwbean) {this.jianshedwbean = jianshedwbean; } public jianshedwservice getjianshedwservice () {return jianshedwservice; } public void setjianshedwservice (jianshedwservice jianshedwservice) {this.jianshedwservice = jianshedwservice; } @Override public String execute () Throws Exception {// Страница страницы страницы, параметр pageSize указывает количество записей, отображаемых на странице, страница является текущей страницей this.pagebean = jianshedwservice.queryforpage (10, page); вернуть успех; }} Напишите страницу в JSP
<tr> <td> </td> <td> <s: if test = "%{pagebean.currentpage == 1}"> Домашняя предыдущая страница </s: if> <s: else> <a href = "jianguan/getjsdwinfos.action? href = "jiangguan/getjsdwinfos.action? Page = <S: Property Value ="%{pageBean.currentPage-1} "/>"/> Предыдущая страница </a> </s: else> </td> <td> <s: if test = "%{pagebean.currentPage! href = "jiangguan/getjsdwinfos.action? Page = <S: Property Value ="%{PageBean.currentPage+1} "/>"> Следующая страница </a> <a href = "jiangguan/getjsdwinfos.action? <S: else> Следующая страница Pagelast </s: else> </td> <td> <div align = "center"> page <s: value = "pagebean.currentpage"/>/<s: значение свойства = "pagebean.totalpage"/> <S: Property Value = "pagebean.allrow"/> arcords </diving> <div align = "/"/"/" "/divign ="/"/" Divign = "/"/"Divign ="/"Divign ="/"/" </td> </tr> Выше приведено просто реализация кода и не объясняет файл конфигурации, и читатель настраивает его в соответствии с ситуацией.
Я надеюсь, что эта статья будет вам полезна. Это все для вас, чтобы ввести содержание страниц в реализации SSH2 базы данных и интерфейса. Я надеюсь, что все будут продолжать следить за нашим сайтом! Если вы хотите выучить Java, вы можете продолжать следить за этим веб -сайтом.