include:
配置的action比較多的時候可以根據action的邏輯進行分包操作,就是命名多個struts.xml,在主要的struts.xml中新增include標籤,將其他邏輯的xml包含進來,配置如下:
<
include
file
="struts1.xml"
>
include
>
intercerptor***配置(跟過濾器差不多)、後面會詳細講解,先了解下配置
可以配置intercerptor棧,支援繼承,如下:
<
interceptors
>
<
interceptor-stack
name
="myicp"
>
<
interceptor-ref
name=""
>
interceptor-ref
>
interceptor-stack
>
interceptors
>
補充action的配置:
配置action的method屬性(專案中常用配置)
name對應前台頁面傳遞的action名字,method對應action類中的方法名字
其中在action類中方法的名字可以這樣寫:dologin,這樣的目的是防止與關鍵字重名,但是最好還是採用前一種方法,起名字時避免起關鍵字,在查詢方法時也比較方便。
dmi動態方法呼叫:
前台:<
a href="
path
%>
/test1/test1.action!add
">
test1
a>
struts.xml配置:
<
action
name
="test1"
class
="com.ant.action.loginaction"
>
<
result
name
="success"
>
/msg/loginsuc.jsp
result
>
<
result
name
="fail"
>
/msg/loginfail.jsp
result
>
action
>
在action類中要有add方法
缺陷:多個action對應的方法返回值和返回頁面要一致
有點:省寫action的配置
建議使用method方式
forward action(一般不用)是指有些程式設計師習慣是jsp與jsp頁面之間不可以直接跳轉,個人認為這沒太大的意義
<
action
name
="index"
>
<
result
>
/index.jsp
result
>
action
>
前台:<
a herf
="index.action"
>主頁a
>
預設action
<
default-action-ref
name
="error"
>
default-action-ref
>
<
action
name
="error"
>
<
result
>
/error.jsp
result
>
action
>
在請求不存在的時候專項error.jsp
web.xml配置不存在頁面或請求的**error-page的配置
<
error-page
>
<
error-code
>
404error-code
>
<
location
>
/error.jsp
location
>
error-page
>
根據ie版本和配置的不同有不同的情況
在action的method配置中會遇到配置量很大的情況,這時用到萬用字元:
*表示所有字元(不包含」/「)
**表示所有字元(包含」/「)
\表示轉義符 前台
<
h1>
crud操作
h1>
<
a href
="adduser.action"
>
新增使用者
a><
br>
<
a href
="deluser.action"
>
刪除使用者
a><
br>
<
a href
="modifyuser.action"
>
修改使用者
a><
br>
<
a href
="queryuser.action"
>
查詢使用者
a><
br> 配置
<
action
name
="*user"
class
="com.ant.action.useraction"
method=""
>
<
result
name
="success"
>
usercontrol/usersuc.jsp
result
>
action
>
由原來的四個action變成了乙個action
這種優勢在針對多個表進行curd操作時更為突出
如對role表也進行curd操作,只需要在struts.xml中增加乙個action
<
action
name="*
role
" class
="com.ant.action.
role
action"
method=""
>
<
result
name
="success"
>
usercontrol/
role
suc.jsp
result
>
action
>
在效率上可以優化,關鍵在於action名字的取法:如前台:useradd.action
後台可以
action
name="
user*"
甚至可以起名字的時候採用_ 如user_add.action(表名_方法名,表名一定要大寫,因為在配置的時候第乙個引數要作為類名)
在後台可以採用
<
action
name="*
_*"
class
="com.ant.action.
action"
method=""
>
<
result
name
="success"
>
basecontrol/
/suc.jsp
result
>
action
>
由此可見,在jsp命名的時候也要注意大小寫的問題表示*_*
採用這種方式一定要做好注釋,在系統維護的時候可以方便的檢視
在萬用字元的使用中要注意優先順序
不包含萬用字元的路徑,優先順序最高
包含萬用字元的路徑,優先順序按照順序來定,前面的大於後面的
zreo configration 零配置 註解配置 配置放在action類中,struts.xml是空的
在action類中需要配置以下內容,是類級別的
@parentpackage(value="struts-default")
@namespace(value="/")
//@result(name="success",value="/login.jsp")
@results()
前台action=user.action注意user是小寫,要與類名一致,如類名useraction
個人認為,這種方式將是struts2配置的發展方向
Struts2學習筆記
1.不繼承,不介面 2.繼承actionsupport類 3.介面action介面 4.我們可以使用modeldriven模式 5.我們可以自己編寫bean進行struts2的擴充套件,但是 一般不需要,因為struts2的功能已經很強大了!6.我們可以將default.properties檔案中的...
Struts2學習筆記
structs修改後自動更新 action執行的時候並不一定要執行execute方法 method add user add success.jsp user add success.jsp 可以在配置檔案中配置action的時候用method 來指定執行哪個方法 user useradd 新增使用...
struts2學習筆記
xml 配置大都是通過 複製 貼上 修改 得到。其中此處 永遠是 url pattern url pattern struts.xml 內 action name hello action 一般用小寫。xml 內寫 時內自動提示設定 原始檔路徑不能有中文。此處複製了乙份dtd檔案到d myeclii...