`

struts2.0中如何实现struts1.2中dispatchaction的功能

 
阅读更多
有两种方法:
一   动态方法调用
如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法。如下:
public class HelloWorldAction{
 private String message;
 ....
 public String execute() throws Exception{
  this.message = "我的第一个struts2应用";
  return "success";
 }
 
 public String other() throws Exception{
  this.message = "第二个方法";
  return "success";
 }
}
假设访问上面action的URL路径为: /struts/test/helloworld.action
要访问action的other() 方法,我们可以这样调用:
/struts/test/helloworld!other.action
如果不想使用动态方法调用,我们可以通过常量struts.enable.DynamicMethodInvocation关闭动态方法调用。
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>

二  使用通配符定义action

<package name="itcast" namespace="/test" extends="struts-default">
 <action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
  <result name="success">/WEB-INF/page/hello.jsp</result>
 </action>
</package>
public class HelloWorldAction{
 private String message;
 ....
 public String execute() throws Exception{
  this.message = "我的第一个struts2应用";
  return "success";
 }
 
 public String other() throws Exception{
  this.message = "第二个方法";
  return "success";
 }
}

要访问other()方法,可以通过这样的URL访问:/test/helloworld_other.action
分享到:
评论

相关推荐

    Java求职面试宝典各大公司常考知识点

    4.6. struts1.2和struts2.0的区别?如何控制两种框架中的单例模式? 9 4.7. struts如何实现国际化 9 4.8. struts2.0的常用标签有哪些 10 4.9. struts中怎么配置form-bean、action、tiles 10 4.10. logic标签有哪几个...

    java面试题

    struts1.2和struts2.0的区别?如何控制两种框架中的单例模式? 74 73. Spring 75 73.1. Spring 简介 75 73.2. 为什么要用Spring? 76 73.3. spring工作机制或工作原理 76 73.4. Spring是什么?根据你的理解详细谈谈...

    SSH_整_合_图_解.doc

    - 在MyEclipse中选择Struts 1.2进行集成。 - **添加Spring框架**: - 选择Spring 2.0,具体包括: - AOP Libraries - Core Libraries - Web Libraries - 将Spring配置文件放置于`WebRoot/WEB-INF`目录下。 -...

    SSH快速开发框架设计

    - **Struts 1.2**:负责处理前端请求并返回视图,提供MVC模式的支持。 - **Spring 2.0**:作为IoC容器,负责管理Bean生命周期以及AOP等特性。 - **Hibernate 3.2**:作为ORM框架,用于实现对象关系映射,完成数据...

Global site tag (gtag.js) - Google Analytics