0 0

struts2注解DMI跳转错误5

有一个简单action如下: public class TestAction extends ActionSupport { @Action(value="testURL", results=@Result(name="success", location="ok.jsp")) public String testURL() { return SUCCESS; } } 如果我通过/testURL.action访问,能够正常跳转到ok.jsp。 如果我使用/test!testURL.action会报错: No result defined for action XXX and result success 不知道是否DMI不能通过方法级的注解进行跳转?
2013年4月15日 15:43

4个答案 按时间排序 按投票排序

0 0

采纳的答案

比如说下面这个方法的注释:

	@Action(value="testURL", results=@Result(name="success", location="/WEB-INF/content/security/user-input.jsp")) 
	public String testURL() throws Exception {
		return SUCCESS;
	}

所在类User的namespace为:security,那么以下两种方式
/security/user!testURL.action
/secuity/testURL.action
这两个url访问都是同样这个方法,但是区别是返回的SUCCESS,如果使用security/user!testURL.action访问,那么返回的不是方法级别上注解的success的location。如果是/secuity/testURL.action访问,那么返回的是这里配置的success对应的location

2013年4月15日 16:11
0 0

public class TestAction extends ActionSupport {
  @Action(value="testURL", results=@Result(name="success", location="ok.jsp"))   
  public String testURL() {
     return SUCCESS;
  }
}
1、既然你使用注解了 就没必要在struts.xml再配置一个<action> 这样相当于两个不同的action 你在这配置的需要到此标签下找<result> 而不是注解的 因为其实本质是属于不同的action

2、使用如下过滤器 去扫描注解的action即可

引用
<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
<param-name>actionPackages</param-name>
<param-value>cn.test</param-value>
</init-param>
    </filter>


2013年4月15日 22:30
0 0

struts2当然支持方法级别的注解。你使用test!testURL.action与testURL.action访问,实际上访问的是namespace指定的web-inf/content/namespace/目录下的位置

2013年4月15日 16:07
0 0

    <action name="userManage" class="org.demo.struts.UserManage">
      <result name="add_success">add.jsp</result>
      <result name="delete_success">delete.jsp</result>
    </action>

public String add() {
  return "add_success";
 }

 public String delete() {
  return "delete_success";
 }

2013年4月15日 15:57

相关推荐

    struts2的详细讲解

    10. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,使得Action方法的调用不再局限于固定的命名规则,增加了灵活性。 综上所述,Struts2是一个全面的Web开发框架,它提供了许多功能...

    struts2学习资料,笔记

    除了XML配置外,Struts2也支持使用注解进行配置,比如`@Action`, `@Result`, `@InterceptorRef`等,这使得代码更简洁,更易于维护。 **4. 动态方法调用(Dynamic Method Invocation,DMI):** Struts2支持动态方法...

    struts2帮助文档

    - Struts2提供了全局异常处理机制,可以统一处理程序中的异常,提供友好的错误页面。 10. **国际化(i18n)** - Struts2支持多语言,开发者可以轻松实现应用的国际化。 通过阅读“struts2帮助文档.chm”,你可以...

    Struts2登陆+输入验证+动态调用实例

    Struts2的动态方法调用(Dynamic Method Invocation,DMI)允许我们根据用户输入来决定执行哪个Action方法。在没有明确的方法名时,Struts2会尝试匹配Action类中的方法。这种方式增加了代码的灵活性,但同时也可能...

    struts2学习资料

    1. **注解支持**:除了XML配置,Struts2还支持使用注解进行Action、拦截器和结果的配置。 2. **动态方法调用(Dynamic Method Invocation,DMI)**:允许通过URL直接调用Action的方法,提高灵活性。 3. **插件体系**...

    struts2源代码(struts-2.1.6.zip)

    2. **动态方法调用(Dynamic Method Invocation,DMI)**:不同于Struts1中的硬编码Action类和方法,Struts2允许动态地调用Action类的方法,增强了代码的可维护性和可扩展性。 3. **OGNL(Object-Graph Navigation ...

    struts2文档.zip

    Struts2引入了动态方法调用(Dynamic Method Invocation,DMI),允许根据URL中的Action名动态调用Action类的方法,提高了灵活性。 **5. Interceptors(拦截器)** 拦截器是Struts2的一大特色,它们在Action执行...

    struts2 框架源码

    Struts2的配置可以是XML(struts.xml或struts-default.xml等)或者注解(@Action、@Result等)。XML配置灵活,适用于大型项目;注解配置简单,适合小型项目。 通过阅读和理解Struts2的源码,开发者可以更深入地了解...

    struts2学习笔记二(第2讲.Struts2入门与配置续)

    5. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2允许通过URL直接调用Action类的方法,增强了灵活性。 6. **OGNL(Object-Graph Navigation Language)**:Struts2内部广泛使用OGNL作为表达式语言,...

    struts2简单案例

    除了XML配置外,Struts2也支持使用注解来配置Action、结果类型和拦截器,简化开发过程。 10. **模型驱动(ModelDriven)** ModelDriven模式可以帮助减少Action类的代码量,将模型对象自动绑定到Action上下文中。 ...

    struts2的一个小例子

    6. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,这意味着你可以直接根据URL调用Action中的方法,无需在配置文件中硬编码所有Action方法。 7. **插件系统**:Struts2拥有丰富的...

    安楠大叔——Struts2简化版增删改查,初学者必备

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域具有广泛的应用。作为一个初学者,掌握Struts2对于深入理解Web框架的工作原理以及提高开发效率至关重要。本资源...

    struts2.3核心jar包

    这个核心jar包是Struts2框架的基础组件,包含了运行Struts2应用程序所需的关键类和库。下面将详细介绍Struts2.3的核心知识点: 1. **Action接口与ActionSupport类**: Struts2中的Action接口定义了处理用户请求的...

    Struts 2权威指南(完整版)

    7. **验证框架**:Struts 2内置了基于XML或注解的表单验证机制,可以有效地校验用户输入。 8. **Ajax支持**:Struts 2提供了与jQuery等库集成的Ajax功能,使得部分页面刷新成为可能。 《Struts 2权威指南》这本书...

    struts-2.5.13-all.zip

    8. **异常处理**:Struts2提供了一套完整的异常处理机制,可以自定义错误页面和异常策略。 9. **主题和皮肤**:Struts2允许定制界面样式,提供多种预定义的主题和皮肤。 在这个"struts-2.5.13-all.zip"压缩包中,...

    Struts框架应用于jsp中

    这些资源可能涵盖了Struts的架构、配置、核心组件以及Struts2的新特性,比如OGNL表达式语言、动态方法调用(DMI)和注解配置等。 总的来说,学习并应用Struts框架可以显著提升JSP应用程序的组织结构,使其更加符合...

    Struts-2.2.3.1-src.zip

    - **配置文件**: XML配置文件(struts.xml)用于定义Action、结果、拦截器栈等,而Struts 2也支持注解配置,使得配置更加灵活。 - **结果类型(Result Type)**: 结果类型定义了Action执行后的跳转方式,如转发、...

    struts 2.3.20中提取的jars文件,用于导入在项目中.rar

    9. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持通过URL直接调用Action的方法,使得URL更具语义化。 10. **Validation框架**:内置了强大的表单验证机制,可以在客户端和服务端进行数据校验。 ...

    Struts2.1权威指南光盘源代码第11章

    4. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持直接通过URL调用Action类的方法,这使得URL更加语义化,增强了可读性和可维护性。 5. **模型驱动(ModelDriven)**:一种Action接口实现,允许...

    宾馆住宿管理系统

    宾馆住宿管理系统是一款专为酒店业设计的信息化解决方案,它集成了现代化的技术,如Struts2框架、JavaScript编程以及全面的注解应用,旨在提升酒店的运营效率和服务质量。下面,我们将深入探讨这个系统的关键技术和...

Global site tag (gtag.js) - Google Analytics