1. 程式人生 > >3 Struts2的常見配置解析

3 Struts2的常見配置解析

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>