分頁的思路
首先,我是通過訪問相同的action,然後用offiset傳遞當前點選的頁碼。如:front/bbs?offiset=1 (表示點選第一頁)
action接收到offiset(點選的頁碼)後查詢資料,資料庫處理先不談。
假設我們處理完得到了資料,接著跳轉到原來的jsp頁面,jsp頁面的資料就更新了。
頁碼的演算法
假設已經得到總頁數page,當前點選的頁碼offiset。
由於url不能用運算子,我在action裡用變數儲存offiset1 = offiset - 1; offiset2 = offiset + 1;
以下**用到struts標籤,先導入標籤庫 <%@ taglib uri="/struts-tags" prefix="s"%>
<s:if
test
="offiset != 1"
>
<
a href
="front/bbs?offiset=offiset1"
/>">prev
a>
s:if
>
<s:if
test
="offiset != page"
>
<
a href
="front/bbs?offiset=offiset2"
/>">next
a>
s:if
>
第一頁、最後一頁一直都會有,直接寫上
<a href
="front/bbs?offiset=1"
>1
a>
<
a href
="front/bbs?offiset=page"
/>"><
s:property
value
="page"
/>
中間的頁碼
用bean標籤迴圈所有頁碼(first、last表示從1到page迴圈),相當於乙個for迴圈。
<s:bean
name
="org.apache.struts2.util.counter"
id="counter"
>
<
s:param
name
="first"
value
="1"
/>
<
s:param
name
="last"
value
="page"
/>
<
s:iterator
status
="st"
>
<
a href
="front/bbs?offiset="
><
s:property
/>
a>
s:iterator
>
s:bean
>
但是我們中間只要顯示11個頁碼,這就要在first、last那裡做判斷了。
修改後如下:(這裡我用三目運算子,考慮到當總頁數小於12,運算比較糾結)
<s:param
name
="first"
value
="offiset > 7 ? offiset - 5 : 2"
/>
<
s:param
name
="last"
value
="offiset<7 ? page>12 ? 12 : page : offiset + 5 < page ? offiset + 5 : page"
/>
加入當前頁的頁碼變色
<s:iterator
status
="st"
>
<
s:if
test
="#st.index+1 == offiset"
>
<
a href
="front/bbs?offiset="
><
font
color
="#ff0000"
><
s:property
/>
font
>
a>
s:if
>
<
s:else
>
<
a href
="front/bbs?offiset="
><
s:property
/>
a>
s:else
>
s:iterator
>
最後加入省略號,基本**如下:
<s:if
test
="offiset != 1"
>
<
a href
="front/bbs?offiset=offiset1"
/>">prev
a>
s:if
>
<
a href
="front/bbs?offiset=1"
>1
a>
<
s:if
test
="offiset > 7"
>...
s:if
>
<
s:bean name
="org.apache.struts2.util.counter"
id="counter"
>
<
s:param
name
="first"
value
="offiset > 7 ? offiset - 5 : 2"
/>
<
s:param
name
="last"
value
="offiset<7 ? page>12 ? 12 : page : offiset < page - 5 ? offiset + 5 : page"
/>
<
s:iterator
status
="st"
>
<
s:if
test
="#st.index+1 == offiset"
>
<
a href
="front/bbs?offiset="
><
font
color
="#ff0000"
><
s:property
/>
font
>
a>
s:if
>
<
s:else
>
<
a href
="front/bbs?offiset="
><
s:property
/>
a>
s:else
>
s:iterator
>
s:bean
>
<
s:if
test
="offiset < page-7"
>...
s:if
>
<
a href
="front/bbs?offiset=page"
/>"><
s:property
value
="offiset2"
/>
a>
<
s:if
test
="offiset != page"
>
<
a href
="front/bbs?offiset=offiset2"
/>">next
a>
s:if
>
end!
部落格園訪客統計的實現
最近有人讓我把裡面關於訪客統計做一篇文章 一直沒有寫,今天就發了吧 對不起呀!一直沒有時間 今天我會發多篇文章關於的美化問題。相信大家也看到了右側公告欄的訪客量統計的效果,我們可以看到有兩個樣式,乙個是單獨統計人數的,乙個是統計訪客 的,是不是感覺還挺不錯的?首先是數字樣式,效果如下 這個我們通過f...
部落格園的夢想
非常感謝大家對發展的熱烈關注與熱心幫助 非常感謝很多朋友提出了非常好的建議,讓我有很多收穫,給我帶來了更大的信心與動力!的發展牽動了這麼多朋友的心,讓我很感動,更讓我感受了更大的責任!的發展來自於所聚集的人群的力量,這個人群不僅僅是技術愛好者,技術精英,而且是影響著中國軟體產業發展的中流砥柱。eyy...
部落格園的CSRF
csrf全稱 cross site request forgery,跨站請求偽造。通俗理解 攻擊者盜用當前使用者身份,髮請當前使用者的惡意請求 如郵件,銀行轉賬等。csrf原理 登入 a,生成本地cookie資訊 登入危險 b,b獲取 a的內容,並向a傳送請求操作,若成功,則csrf過程成功。其中登...