Struts基礎之深入理解


1.訪問Servlet API

1.1.Servlet中我們可以直接HttpServletRequestHttpServletResponse這些API,而Struts2Action中沒有這些,三種方式訪問API

1.1.1.ActionContext

1.1.2.實現***Aware接口

1.1.3.ServletActionContext

2.Action的搜索

2.1.Action的搜索順序


3.方法的動態調用

3.1.概念:爲了解決一個Action對應多個請求的處理,以免Action過多。

3.2.訪問方法的方式(3種)

3.2.1.指定method的方式(在action標籤中添加method屬性指定方法名)

<action name="addAction" class="com.imooc.action.HelloWorldAction" method=”add”>
    <result>/add.jsp</result>
</action>


3.2.2.感嘆號的方式(官方不推薦)

3.2.3.通配符的方式(通過*號來替代,達到一個動態訪問的效果推薦這種方式)

<action name="helloworld_*" class="com.imooc.action.HelloWorldAction" method=”{1}”>
    <result name=”add”>/{1}.jsp</result>
</action>


4.指定多個配置文件

4.1.利用包含配置文件

4.1.1.<include file=”login.xml”></include>

4.1.2.注意每個配置文件的編碼:

<constant name=”struts.i18n.encoding” value=”UTF-8”></constant> 

 

5.默認Action

5.1.爲了解決用戶訪問找不到Action,防止出現404這樣頁面給用戶帶來不好的體驗而設置的默認的Action

5.2.package中增加如下代碼和增加error.jsp頁面

<default-action-ref name=”index”></default-action-ref>

<action name=”index”>

<result>/error.jsp</result>

</action>

6.Struts2的後綴(三種方式)

6.1.將後綴改成html的形式加上如下配置:

6.1.1.struts.xml文件中:<constant name=”struts.action.extension” value=”html”></constant>

6.1.2.struts.properties文件中:struts.action.extension = action,do,html,

6.1.3.web.xml的攔截器中配置(不常用)

7.接受參數

7.1.使用Action的屬性參數來獲取

7.2.使用Domain Model接受參數

7.3.使用ModelDriven接受參數(要Action實現ModelDriven接口)

8.處理結果類型

8.1.數據處理流程


8.2.5個系統內置屬性(常量)


8.3.處理結果類型

8.3.1.局部結果

8.3.2.全局結果<global-results></global-results>標籤作爲一個全局的返回結果所有的Action公用。

8.3.4.<result></result>標籤中的type屬性,默認值爲dispatcher,這個類型支持JSP視圖技術。

9.總結


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章