學習Struts2的個人疑惑及問題解決

2022-03-25 07:57:05 字數 1857 閱讀 5777

剛開始學習ssh框架中struts2時,個人疑惑以及一些問題總結一下。

1package節點namespace屬性值決定訪問路徑問題

namespace不寫或寫namespace=""代表含義都一樣

namespace="/"表示根命名空間,只能處理「專案名/actionname.action」的url請求。

假設有個name="index"的action  即名為index.action,專案名為p1。namespace值及訪問路徑如下:

namespace值

訪問路徑

空或""

p1/index.action或p1/x/index.action等

/p1/index.action(只能這一種)

/xp1/x/index.action

/x/y

p1/x/y/index.action

如下struts.xml配置

/namespace.jsp

/namespace.jsp

namespace是什麼?想訪問的action前面就應該加上什麼,比如這裡就是/front/index.action

namespace等於空,意味著:只要在url敲index.action不管在**敲,路徑多麼深,只要最後是「index.action」就可以訪問這個action。

所以namespace意味著:只要找到乙個index.action,沒有找到精確的對應的namespace,全部都交給namespace為空的這個package去處理,所以這個package囊括了其他所有package處理不了的action。

資料參考:

這個**對於namespace=""和namespace="/"的描述有錯誤。

2actionresult節點name屬性值命名方式問題

個人理解:系統根據action節點中的method屬性值對應的方法中的返回結果,在result中查詢相應結果的對映,轉向指定介面。所以result中name值只要和method屬性值對應的方法中的返回值相同即可。

3src下的類什麼時候載入

使用者提交表單時 會有乙個action屬性,根據action值,在struts.xml中查詢相應name的action配置,根據配置找到相應的類,執行method屬性對應的方法,根據方法返回值,在result中查詢相應結果的對映,轉向指定介面。

4struts.xml配置及action配置

action配置中,配置項的預設值:

1) 如果沒有指定action的class,預設值為actionsupport。

2) 如果沒有指定action的method屬性,預設值為execute()方法。

3) 如果沒有指定result的name屬性,預設值為」success」

資料參考:

struts2學習筆記 struts2的配置檔案

一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...

struts2學習筆記 struts2的配置檔案

一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...

struts2 學習筆記2

這裡我碰到了乙個問題,如果我們簡單的將所有的jsp放在 web inf xx.jsp下,那沒有任何問題,在jsp中我們定義form如下所表示 配置檔案會解析匹配找到相應的action,並跳轉到我在配置檔案中設定的jsp,form中action屬性中的mystruts不能刪除,後面的namespace...