詳解struts.xml文件
1.基本配置
<?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>
<!--package:是將Action配置封裝,可以在package中定義多個action 可以定義多個package 建議按照模塊劃分 每個模塊定義一個package
name屬性:給包起一個名字,僅僅起到標識的作用,隨便取名。
namespace:給action的訪問路徑定義一個命名空間,也可以用來區分不同模塊兒
extends:繼承一個指定包 extends="struts-default" 非可選 這個包在struts 核心包裏面
abstract屬性:包是否是抽象的,標識性屬性。標識該包不能獨立運行,專門被繼承
-->
<package name="hello" namespace="/hello" extends="struts-default">
<!--action元素配置了action類
name屬性:決定了action的訪問資源名
class屬性:action類的完整類名
method:指定具體調用action中的哪個方法來處理 -->
<action name="HelloAction" class="cn.ycsj.hiber.test.HelloAction" method="Hello">
<!--result元素:結果配置
name屬性:標識處理結果的名稱,與action中的返回值對應。
type 屬性:指定使用哪一個result 默認是type="dispacher"轉發 如果是重定向 應設置type="redirectAction"
標籤體:配置頁面的相對路徑。
-->
<result name="success">/Hello.jsp</result>
</action>
</package>
</struts>
查看struts-default
struts-default 包定義了result的類型和攔截器
2.struts2默認常量配置
默認常量配置在struts2核心包下面
3.修改struts2常量配置
方式先後也是加載先後
方法1.
在src下創建struts.properties文件
將需要更改的屬性粘貼到配置文件中做修改。
struts.i18n.encoding=UTF-8
方式2.
在struts配置文件中struts.xml中配置 //推薦使用
<constant name="struts.i18n.encoding" value="UTF-8"/>
方式3.
在web.xml中配置
<context-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
4.常用的常量配置
<!--i18n :國際化 解決post提交亂碼-->
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!--指定訪問action的訪問後綴 默認情況下是可以通過訪問 http://localhost:8080/HibernateTest/hello/Helloaction.action或者http://localhost:8080/HibernateTest/hello/Helloaction 一種以‘’爲後綴,一種添加.action爲後綴,也可以自己定義-->
<constant name="
struts.action.extension" value="
action,,"/>
<!--指定struts2是否以開發模式運行 debug模式
1.熱加載主配置文件struts.xml(不需要重啓服務器)
2.提供更多的錯誤信息,方便開發時的調試
在上線的時候改爲false
-->
<constant name="
struts.devMode" value="
false"/>