struts2的默認配置文件是struts.xml,放置的位置是WEB-INF/classes目錄下,模板
如果想要使用這個配置文件,就要在web.xml文件里面配置,以啟動struts2框架。
下面談談配置文件的內容,關于struts-2.0.dtd文件里面的dtd結構就不羅列了,到處都可以找到,這里主要介紹幾個常用的配置。
1、<constant name="struts.ui.theme" value="simple" />
在JSP頁面中,會用到struts2的s標簽,而這個標簽會有一個默認的格式,有的時候會打亂頁面的布局,可以使用上面這個配置來禁止s標簽的默認格式生效。
2、<constant name="struts.objectFactory" value="spring" />
當struts2和spring集成時,用這個配置指定由spring負責action對象的創建。這樣就可以用到spring的反射技術,更方便的編程。
3、<constant name="struts.action.extension" value="do" />
這個是關于action的后綴定義,在上面設置為.do,如果想要設置更多的類型,可以使用value="do,action,ss",等把不同的后綴用逗號隔開。
4、<constant name="struts.i18n.encoding" value="true" />
5、<constant name="struts.serve.static.browserCache" value="false" />
6、<constant name="struts.configuration.xml.reload" value="true" />
7、<constant name="struts.enable,DynamicMethodInvocation" value="false" />
8、<constant name="struts.multipart.maxSize" value="2097152" />
9、<constant name="struts.devMode" value="true" />
簽名:有能力、有擔當、有情義的人才能稱之為男人,而不是由性別決定。
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4 "http://struts.apache.org/dtds/struts-2.0.dtd">
5 <struts>
6 </struts>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4 "http://struts.apache.org/dtds/struts-2.0.dtd">
5 <struts>
6 </struts>
如果想要使用這個配置文件,就要在web.xml文件里面配置,以啟動struts2框架。
1 <filter>
2 <filter-name>struts2</filter-name>
3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4 </filter>
5 <filter-mapping>
6 <filter-name>struts2</filter-name>
7 <url-pattern>/*</url-pattern>
8 </filter-mapping>
2 <filter-name>struts2</filter-name>
3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
4 </filter>
5 <filter-mapping>
6 <filter-name>struts2</filter-name>
7 <url-pattern>/*</url-pattern>
8 </filter-mapping>
在很多應用中,會出現很多個Action,如果都寫在一個struts.xml文件中,會讓結構變的難以維護,這種情況下,可以將一個struts.xml文件按action種類分解成多個struts配置文件,比如說關于用戶的:struts-user.xml,關于管理的:struts-manage.xml,然后在總struts配置文件中調用
1 <struts>
2 <include file="struts-user.xml"/>
3 <include file="struts-manage.xml"/>
4 </struts>
2 <include file="struts-user.xml"/>
3 <include file="struts-manage.xml"/>
4 </struts>
下面談談配置文件的內容,關于struts-2.0.dtd文件里面的dtd結構就不羅列了,到處都可以找到,這里主要介紹幾個常用的配置。
首先要說的是,常量可以在struts-default.xml、struts-plugin.xml、struts.xml、struts.properties、web.xml5個文件中配置,按前面的順序依次加載,配置有重復的話,后面文件會覆蓋掉前面的配置,最好都在struts.xml文件里面統一配置。
1、<constant name="struts.ui.theme" value="simple" />
在JSP頁面中,會用到struts2的s標簽,而這個標簽會有一個默認的格式,有的時候會打亂頁面的布局,可以使用上面這個配置來禁止s標簽的默認格式生效。
2、<constant name="struts.objectFactory" value="spring" />
當struts2和spring集成時,用這個配置指定由spring負責action對象的創建。這樣就可以用到spring的反射技術,更方便的編程。
3、<constant name="struts.action.extension" value="do" />
這個是關于action的后綴定義,在上面設置為.do,如果想要設置更多的類型,可以使用value="do,action,ss",等把不同的后綴用逗號隔開。
4、<constant name="struts.i18n.encoding" value="true" />
指定默認編碼集,作用于HttpServletRequest的setCharacterEncoding方法和Freemarker、velocity的輸出,默認的編碼集是UTF-8。
5、<constant name="struts.serve.static.browserCache" value="false" />
有時修改了部分內容,但是在瀏覽器上沒有體現出來,這是因為緩存設置的問題,上面這個就是設置瀏覽器是否緩存靜態內容,默認值為true,開發階段最好關閉。
6、<constant name="struts.configuration.xml.reload" value="true" />
當struts配置文件被修改后,系統是否自動加載該文件,默認值為false,開發階段打開就節省了好多時間。
7、<constant name="struts.enable,DynamicMethodInvocation" value="false" />
設置struts2是否支持動態方法調用,即通過!+方法名的方式,默認值為true,這個配置,各有所愛吧,不過統一方式訪問還是比較好的,我選擇關閉。
8、<constant name="struts.multipart.maxSize" value="2097152" />
這個配置是struts2上傳文件的大小限制,單位為字節,上面的2097152字節就是2M,另外需要注意的是,這個文件大小,在多文件上傳時是總大小。
9、<constant name="struts.devMode" value="true" />
在開發模式下使用,可以打印出更詳細的錯誤信息。
后面就是action的配置
后面就是action的配置
1 <package name="user" namespace="/user" extends="struts-default">
2 <action name="op_*" class="userAction" method="{1}">
3 <result>/success.jsp</result>
4 </action>
5 <action name="ck_*" class="checkAction" method="{1}">
6 <result name="input">/index.jsp</result>
7 <result name="show">/show.jsp</result>
8 <result name="check" type="stream">
9 <param name="contentType">text/html</param>
10 <param name="inputName">inputStream</param>
11 </result>
12 </action>
13 </package>
2 <action name="op_*" class="userAction" method="{1}">
3 <result>/success.jsp</result>
4 </action>
5 <action name="ck_*" class="checkAction" method="{1}">
6 <result name="input">/index.jsp</result>
7 <result name="show">/show.jsp</result>
8 <result name="check" type="stream">
9 <param name="contentType">text/html</param>
10 <param name="inputName">inputStream</param>
11 </result>
12 </action>
13 </package>
在這個配置里面還可以注入值,在<action></action>里面加上<param name="arg">value</param>,然后在action類里面提供arg的getset方法,就可以直接在跳轉頁面${arg}直接訪問到數據value。關于通配符參考前面的S2SH實例說明。
此文部分內容來源網絡。如有侵犯您的版權問題,請來消息至電子郵件DyEngima&163.com(&換成@),經核實后會在文章內部標明來源。
轉載請注明來源http://www.aygfsteel.com/DyEnigma/簽名:有能力、有擔當、有情義的人才能稱之為男人,而不是由性別決定。