上期講了新聞管理模塊Model層的開發,本期讓我們來一起開發新聞管理的Action類和JSP頁面。
先從JSP頁面寫起吧,在admin目錄下建兩個文件,一個是顯示新聞列表的article.jsp,另一個是新聞編輯的article-input.jsp,新聞添加和新聞修改歸于同一文件,節省一點資源,這一點,學習了Springside開源項目。再建一個新聞管理的Action類ArticleAction.java。這三個文件的目錄結構如下:
網站根目錄/WEB-INF/content/admin/article.jsp 網站根目錄/WEB-INF/content/admin/article-input.jsp 類路徑根目錄/cn/simple/action/admin/ArticleAction.java |
在前面的教程中,我們已經說過,JSP文件存放的目錄是content,也就是說JSP文件相對于網站根目錄的訪問路徑是從content下面的目錄算起。類路徑要與JSP路徑匹配,請大家特別注意上面紅色顯示部分。
好,來看一下Action類的代碼:
























































































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

































新聞編輯頁的代碼如下:




































輸入http://localhost:8060/SimpleWeb/admin/article.action進入新聞列表頁面,運行效果截圖:
好,明天新的一個星期的工作日,早睡早起!敬請大家繼續關注我的Struts 2.1.6 精簡實例系列教程。
本文原創,轉載請注明出處,謝謝!http://www.tkk7.com/rongxh7(心夢帆影JavaEE技術博客)