分享

Struts2学习笔记---DMI(动态方法调用)

 集微笔记 2013-07-30


用action的我们可以使用method来调用一个方法,不过还可以用DMI,动态方法调用

Action执行的时候并不一定要执行execute方法
可以在配置文件中配置Action的时候用method=来指定执行哪个方法
也可以在url地址中动态指定(动态方法调用DMI)(推荐)
前者会产生太多的action,所以不推荐使用

 

Xml代码 复制代码 收藏代码
  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./dtds/struts-2.0.dtd">  
  5.   
  6. <struts>  
  7.     <!-- Add packages here -->  
  8.     <constant name="struts.devMode" value="true" />  
  9.     <package name="user" extends="struts-default" namespace="/user">  
  10.         <action name="userAdd" class="org.hualang.actionmethod.ActionMethod" method="add">  
  11.             <result>/MyJsp.jsp</result>  
  12.         </action>  
  13.            
  14.         <action name="user" class="org.hualang.actionmethod.ActionMethod">  
  15.             <result>/MyJsp.jsp</result>  
  16.         </action>  
  17.     </package>  
  18. </struts>  

 

这里有两个action,第一个action用的就是method方式,但是不推荐用,而第二个就是用的DMI动态方法调用

 

ActionMethod.java(在src目录下的org.hualang.actionmethod包中)

这里没有execute()方法,而是add方法

第一个method="add",说明调用add()方法,只要返回值是String,想调用什么就调用什么
action的名字是userAdd,而对应的result是MyJsp.jsp,所以到这个页面,显示“添加页面”

Java代码 复制代码 收藏代码
  1. package org.hualang.actionmethod;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4.   
  5. public class ActionMethod extends ActionSupport {   
  6.     public String add()   
  7.     {   
  8.         return SUCCESS;   
  9.     }   
  10. }  

 
index.jsp(另外还有个MyJsp.jsp就是显示字符串“添加页面”)

Html代码 复制代码 收藏代码
  1. <body>  
  2. Action执行的时候并不一定要执行execute方法<br />  
  3. 可以在配置文件中配置Action的时候用method=来指定执行哪个方法<br/>  
  4. 也可以在url地址中动态指定(动态方法调用DMI)(推荐)<br />  
  5.     <a href="<%=context %>/user/userAdd">添加用户</a>  
  6.     <br />  
  7.     <a href="<%=context %>/user/user!add">添加用户</a>  
  8.     <br />  
  9. 前者会产生太多的action,所以不推荐使用   
  10.        
  11. </body>  

 

其他的跟以前的基本一样

 

运行结果如下:


点击第一个链接
 

 点击第二个链接

 



 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多