Struts2學習筆記3

2021-08-30 06:13:16 字數 4409 閱讀 1665

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...