上期講了新聞管理模塊Model層的開(kāi)發(fā),本期讓我們來(lái)一起開(kāi)發(fā)新聞管理的Action類和JSP頁(yè)面。
先從JSP頁(yè)面寫起吧,在admin目錄下建兩個(gè)文件,一個(gè)是顯示新聞列表的article.jsp,另一個(gè)是新聞編輯的article-input.jsp,新聞添加和新聞修改歸于同一文件,節(jié)省一點(diǎn)資源,這一點(diǎn),學(xué)習(xí)了Springside開(kāi)源項(xiàng)目。再建一個(gè)新聞管理的Action類ArticleAction.java。這三個(gè)文件的目錄結(jié)構(gòu)如下:
網(wǎng)站根目錄/WEB-INF/content/admin/article.jsp 網(wǎng)站根目錄/WEB-INF/content/admin/article-input.jsp 類路徑根目錄/cn/simple/action/admin/ArticleAction.java |
在前面的教程中,我們已經(jīng)說(shuō)過(guò),JSP文件存放的目錄是content,也就是說(shuō)JSP文件相對(duì)于網(wǎng)站根目錄的訪問(wèn)路徑是從content下面的目錄算起。類路徑要與JSP路徑匹配,請(qǐng)大家特別注意上面紅色顯示部分。
好,來(lái)看一下Action類的代碼:
























































































大家可注意到默認(rèn)是execute方法,我們讓它去調(diào)用list方法,也就是當(dāng)我們?cè)L問(wèn)ArticleAction的時(shí)候,它默認(rèn)是查詢所有新聞列表的。增、刪、查、改等方法,都是調(diào)用了上一期教程中的ArticleManager類的方法,大家若忘記了,可先看下:Struts 2.1.6 精簡(jiǎn)實(shí)例系列教程(3):新聞管理Model層的開(kāi)發(fā)(整合iBatis)。
我們?cè)L問(wèn)的時(shí)候是怎么訪問(wèn)的呢?對(duì)ArticleAction類來(lái)說(shuō):
查詢列表:admin/article.action或admin/article ! list.action 進(jìn)入編輯頁(yè)面(若是添加):admin/article ! input.action 進(jìn)入編輯頁(yè)面(若是修改):admin/article ! input.action ? id=4 執(zhí)行新增或修改操作(更新到數(shù)據(jù)庫(kù)):admin/article ! save.action 執(zhí)行刪除操作:admin/article ! delete.action |
我們可以看到,Struts 2有一種很好用的用法就是加感嘆號(hào)“!”來(lái)訪問(wèn)我們的Action類中的方法。除了這些外,以前方法,其實(shí)可以去掉“.action”訪問(wèn)的,就像我們前面講的一樣。
還有一點(diǎn)提醒,上面的Action類中,有些@Result是可以不用配置的,name=”success”和name=”input”這兩個(gè)@result都是不用配置的,只要大家遵從Struts 2.1.6的一些命名規(guī)范,有時(shí)候能節(jié)省一些代碼。不過(guò),為了大家容易理解,我把那些約定俗成默認(rèn)的可不寫的,都寫了出來(lái),這樣,對(duì)于初學(xué)都來(lái)說(shuō),容易理解一點(diǎn)。
新聞列表頁(yè)article.jsp的代碼如下:

































新聞編輯頁(yè)的代碼如下:




































輸入http://localhost:8060/SimpleWeb/admin/article.action進(jìn)入新聞列表頁(yè)面,運(yùn)行效果截圖:
好,明天新的一個(gè)星期的工作日,早睡早起!敬請(qǐng)大家繼續(xù)關(guān)注我的Struts 2.1.6 精簡(jiǎn)實(shí)例系列教程。
本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,謝謝!http://www.aygfsteel.com/rongxh7(心夢(mèng)帆影JavaEE技術(shù)博客)