亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

轉(zhuǎn):傳智播客—jbpm與OA項(xiàng)目(六)

系統(tǒng) 1844 0

今日的北京氣溫回升,昨天是降溫。天氣的變暖,讓大家感覺(jué)十分溫暖,課上睡意連綿。湯兄弟有發(fā)現(xiàn)大家的狀況,所以今天拿出了一點(diǎn)時(shí)間與大家交流學(xué)習(xí)方法或技術(shù)上的一些問(wèn)題。授課進(jìn)度完全在掌握之中。

?

未來(lái)三天的內(nèi)容,學(xué)習(xí)使用 JBMP 解決 審批流轉(zhuǎn)這一大模塊的需求。今日的課程內(nèi)容比較簡(jiǎn)單,但在實(shí)際項(xiàng)目中的應(yīng)用卻十分重要。把 WEB 基礎(chǔ)搞的差不多了,這些框架并沒(méi)什么難的。更多的是應(yīng)該多使用,多熟悉他們。兩大重點(diǎn)內(nèi)容:通用超強(qiáng)分頁(yè)功能、 JBPM 審批流程管理。

?

一、通用超強(qiáng)分頁(yè)功能

1. 分頁(yè)效果

wps_clip_image-26256

(圖 1.1

1.1 中顯示的分頁(yè)功能是目前我見(jiàn)到的,功用最全的分頁(yè)功能。當(dāng)然也是論壇中比較常用的分頁(yè)功能。我們今日就實(shí)現(xiàn)這個(gè)通用超級(jí)分頁(yè)功能。

?

2. 分頁(yè) Bean

湯老師使用自己的講課風(fēng)格(應(yīng)該也是他做項(xiàng)目時(shí)的編寫(xiě)風(fēng)格),由廣入微、由粗糙到細(xì)致。使用他的方法做分析比較好,這或許是通用的分析方式吧!

?

我們看圖 1.1 中具有的屬性:

v 頁(yè)碼: 1/11 頁(yè)

v 每頁(yè)顯示: 30

v 總記錄數(shù): 301

v 分頁(yè): [ 首頁(yè) ] [ 上一頁(yè) ] [ 下一頁(yè) ] [ 尾頁(yè) ] 1 2 3 4 5 6 7 8 9 10

?

OK ,我們根據(jù)頁(yè)面信息取出了分頁(yè) Bean 的屬性,并設(shè)計(jì)分頁(yè) Bean

import java.util.List;

?

public ? class PageView {

// 通過(guò)參數(shù)指定的信息

private ? int ? currentPage ; // 當(dāng)前頁(yè)碼

private ? int ? pageSzie ; // 每頁(yè)顯示記錄數(shù)量

// 通過(guò)查詢數(shù)據(jù)庫(kù)獲取的信息,外部獲取

private ? int ? recordTotal ; // 總記錄數(shù)

private ? List ? recordList ; // 當(dāng)前面記錄信息列表

// 通過(guò)計(jì)算生成的信息

private ? int ? pageTotal ; // 總頁(yè)面數(shù)量

private ? int ? startIndex ; // 起始頁(yè)面索引

private ? int ? endIndex ; // 結(jié)束頁(yè)面索引

// 顯示的頁(yè)面數(shù)量

private ? static ? final ? int ? PAGE_INDEX_COUNT = 10;

?

// 在構(gòu)造方法中生成各種需要的信息

public PageView( int currentPage, int pageSize, int recordTotal,

List recordList) {

this . currentPage = currentPage;

this . pageSzie = pageSize;

this . recordTotal = recordTotal;

this . recordList = recordList;

// 通過(guò)計(jì)算生成startIndex和endIndex

/*

* 因?yàn)轱@示的頁(yè)面索引數(shù)量是有限的 我們不能把所以的頁(yè)面索引一下子全列出來(lái) 我們需要?jiǎng)討B(tài)顯示頁(yè)面索引列表

*/

this . pageTotal = ( this . recordTotal + this . pageSzie - 1) / this . pageSzie ;

// 如果頁(yè)面總數(shù)<=顯示頁(yè)面索引數(shù)量

if ( this . pageTotal <= PAGE_INDEX_COUNT ) {

this . startIndex = 1;

this . endIndex = this . pageTotal ;

} else {

// 根據(jù)當(dāng)前頁(yè)面索引生成,頁(yè)面起始索引和結(jié)束索引。

// 區(qū)分偶數(shù)和奇數(shù) 頁(yè)面索引數(shù)量

if ( PAGE_INDEX_COUNT % 2 == 0) {

this . startIndex = this . currentPage - ( PAGE_INDEX_COUNT / 2 - 1);

this . endIndex = this . currentPage + ( PAGE_INDEX_COUNT / 2);

} else {

this . startIndex = this . currentPage - ( PAGE_INDEX_COUNT / 2);

this . endIndex = this . currentPage + ( PAGE_INDEX_COUNT / 2);

}

// 如果生成的起始索引小于1

if ( this . startIndex < 1){

this . startIndex = 1;

this . endIndex = PAGE_INDEX_COUNT ;

}

// 如果生成的結(jié)束索引大于總頁(yè)面索引數(shù)量

if ( this . endIndex > this . pageTotal ){

this . endIndex = this . pageTotal ;

this . startIndex = this . pageTotal - PAGE_INDEX_COUNT ;

}

}

}

// ...getters AND setters

}

?

3. 審批流程的 DispathcAction

我們與上次課程一樣,需要為審批流程編寫(xiě)一個(gè) DispatchAction 。涉及到顯示審批流程列表只有一個(gè)方法—— list

/** ?

? * ? 顯示審批流程列表 ?

? */

public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

throws Exception {

int pageNum = Integer. parseInt (request.getParameter( "pageNum" ));

// 調(diào)用ProcessDefinitionService接口的getPageView方法獲取PageView對(duì)象

PageView pageView = processDefinitionService .getPageView(pageNum);

// 將PageView對(duì)象存放到request的pageView屬性中

request.setAttribute( "pageView" , pageView);

return mapping.findForward( "list" ); // list. jsp

}

?

其中用到的“ processDefinitionService .getPageView ”方法:

/**

? * ? 獲取pageView信息

? */

public PageView getPageView( int pageNum) {

// 每面顯示10條記錄

int pageSize = 10;

// 查詢數(shù)據(jù)庫(kù)

// 使用Number防止不同數(shù)據(jù)庫(kù)返回的數(shù)值類型不同,而引發(fā)的異常。

int count = ((Number) this .getSession().createQuery(

"SELECT COUNT(*) FROM " + ProcessDefinition. class .getName()

+ " pd" ).uniqueResult()).intValue();

// 第一條記錄的索引

int firstRecoderIndex = (pageNum - 1) * pageSize;

// 獲取記錄列表

List list = this .getSession().createQuery(

"FROM " + ProcessDefinition. class .getName() + " pd" )

.setFirstResult(firstRecoderIndex).setMaxResults(pageSize)

.list();

return ? new PageView(pageNum, pageSize, count, list);

}

?

4. 顯示分頁(yè)信息的 pageView.jspf 頁(yè)面

多處使用到分頁(yè)頁(yè)面,所以我們將分頁(yè)頁(yè)面單獨(dú)提取出來(lái)。如果有哪個(gè)頁(yè)面需要顯示分頁(yè)信息,直接 include 就可以了。

<%@ ? page ? language = "java" ? pageEncoding = "utf-8" ? %>

<%@ ? taglib ? prefix = "c" ? uri = "http://java.sun.com/jsp/jstl/core" ? %>

?

< c:if ? test = " ${pageView.totalPage gt 1 } " >

?

<!-- 分頁(yè)信息 -->

頁(yè)碼:${pageView.currentPage}/${pageView.totalPage}頁(yè)

每頁(yè)顯示:${pageView.pageSize}條

總記錄數(shù):${pageView.recordCount}條

?

分頁(yè):

< a ? href = "javascript:gotoPage(1)" > [首頁(yè)] </ a > ?

< c:if ? test = " ${pageView.currentPage gt 1} " >

< a ? href = " javascript:gotoPage( ${pageView.currentPage - 1} ) " > [上一頁(yè)] </ a > ?

</ c:if >

< c:if ? test = " ${pageView.currentPage lt pageView.totalPage} " >

< a ? href = " javascript:gotoPage( ${pageView.currentPage + 1} ) " > [下一頁(yè)] </ a > ?

</ c:if >

<span style="font-family: 'Cour

轉(zhuǎn):傳智播客—jbpm與OA項(xiàng)目(六)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久草在线在线视频 | 亚洲高清美女一区二区三区 | 97久久精品国产成人影院 | 中文字幕视频在线观看 | 2018天天干天天操 | 成人综合网址 | 国产精品视频一区牛牛视频 | 国产成人精品男人的天堂网站 | 国内精品久久久久久影院网站小说 | 99久久精彩视频 | 色综合久久婷婷天天 | 欧美成人精品欧美一级乱黄 | 久久久影院亚洲精品 | www.精品 | 日本一级在线观看视频播放 | 一级毛片免费在线观看网站 | 99热这里只有精品在线 | 四虎最新紧急更新地址 | 狠狠色丁香久久婷婷综合_中 | 国产精品成在线观看 | 奇米影视小说 | 狠狠se| 亚洲欧美日韩中文综合在线不卡 | 日日狠狠久久8888av | 激情综合网五月激情 | www.四虎影院在线观看 | 亚洲精品一区二区在线观看 | 欧美精品久久久久久久影视 | 日本一级毛片2021免费 | 麻豆成人久久精品二区三区小说 | 五月天婷婷在线视频 | 国产精品国产自线在线观看 | 亚洲va欧美va | 免费一级毛片在线观看 | 欧美精品啪啪 | 成人精品视频网站 | 欧美成人性色大片在线观看 | 日韩在线欧美高清一区 | 亚洲综合区小说区激情区噜噜 | 成人久久网 | 日本特黄特色aaa大片免费 |