什么是DMI?DMI即所謂的動態方法調用。
Action在執行的時候并不一定要執行execute方法,可以在配置文件中配置Action的時候用method=來指定執行哪個方法,也可以在url地址中動態指定(動態方法調用DMI)。
第一種方式,在struts.xml中對Action添加method:
<constant name="struts.devMode" value="true" />
<span style="color:#ff6666;"><package name="user" extends="struts-default" namespace="/user">
<action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
</span>
<action name="user" class="com.bjsxt.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
</package>
</struts>
上述紅色字體部分就是主要的方式
第二種方式,即DMI,很簡單--修改url即可
<a href="<%=context %>/user/user!add">添加用戶</a>
就是在地址后添加一個“!”然后緊接著方法名即可,此種方式類似于通配符。
無論何種方式,都需要添加一個method(Java文件中)
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
public String add() {
return SUCCESS;
}
}
它要返回一個字符串,在實際開發中一般都使用第二種方式,因為它減少了Action的數量。
以上就是Struts2的DMI動態調用方式的全部內容,希望能給大家一個參考,也希望大家多多支持服務器之家。