3 Struts2的常見配置解析
阿新 • • 發佈:2018-11-10
1 package的相關配置
package標籤:包,與Java中的包概念不一致。旨在更好的管理action
package標籤的屬性:
- name : 包的名稱
- extends: 繼承哪個包,通常值為Struts-default
- namespace: 名稱空間,與<action>標籤中的name屬性共同決定訪問路徑
名稱空間有三種寫法:
- 帶名稱的名稱空間:/aaa
- 根名稱空間:namespace="/"
- 預設名稱空間:namespace=""
先執行有名稱的執行空間
abstrcts: 抽象的,abstrcts="true"可以被繼承
2 action相關配置
主要配置Action類:
- name屬性: 與namespace共同決定訪問路徑
- class屬性:類的訪問路徑
- method屬性:預設執行方法為execute(),如為save,需要在類裡面變更方法名為save
- (瞭解)converter屬性:用於設定型別轉換
3 常量配置
修改常量的值: 後修改的覆蓋前修改的,習慣在struts.xml中修改
訪問Action: <action name="">組成名字,<constant name="">組成字尾
Struts.xml中進行修改
<!-- 配置struts常量的值 -->
<constant name="struts.action.extension" value="abc"></constant>
此時訪問:http://localhost:8888//Struts_day01/hello.abc
strut.peoperties進行修改
web.xml進行修改
<!-- 配置Struts2的過濾器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!-- 修改常量 -->
<init-param>
<param-name>struts.action.extension</param-name>
<param-value>xyz</param-value>
</init-param>
</filter>
4 include配置,分模組開發
在src目錄下建立struts.xml,通過include標籤引入配置檔案,示例如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!-- 配置struts常量的值 --> <constant name="struts.action.extension" value="action"></constant> <!-- 引入其他路徑的配置檔案,適合團隊開發 --> <include file="com/itheima/Structs/demo1/struts_demo1.xml"></include> <include file="com/itheima/Structs/demo2/struts_demo2.xml"></include> <include file="com/itheima/Structs/demo3/struts_demo3.xml"></include> </struts>