struts2中使用DMI(動態調用方法)方式配置action

DMI方式配置xml有兩種形式: web

1.使用 "!"方式,即 action名稱 ! 方法名稱 app

<action name="aggression" class="aggressionEventStatusAction" >
			<result name="success" >/WEB-INF/jsp/aggression/aggressionReport_main.jsp</result>
			<result name="update" type="chain">
				<param name="actionName">aggression</param>
				<param name="namespace">/</param>
			</result>
		</action>

2. 使用通配符方式 *,(有人建議用這種方式) jsp

<action name="*_*" class="edu.ncut.labshare.action.{1}Action"
			method="{2}">
			<result>/resource/{1}_{2}Success.jsp</result>
</action>

須要注意的是, url

1. 若是在web.xml 是這樣配置的 spa

<filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>*.action</url-pattern>
    </filter-mapping>
在頁面上寫連接的時候要寫成: http://localhost:8080/ALEConsole/aggression!update .action 或者是

http://localhost:8080/ALEConsole/aggression_update.action code

而不要寫成:http://localhost:8080/ALEConsole/aggression.action_update,由於.action是後綴。 xml

2. 新版的Struts2(具體從哪一個版本起忘了),默認關閉DMI功能。須要在struts.xml 中打開: io

<constant name="struts.enable.DynamicMethodInvocation" value="true"/> class


有一個問題就是:使用DMI方式配置,若是出現action之間的跳轉的該怎麼寫,還請各位指點!
struts2

相關文章
相關標籤/搜索