-
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个答案 按时间排序 按投票排序
-
采纳的答案
比如说下面这个方法的注释:
@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对应的location2013年4月15日 16:11
-
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
-
struts2当然支持方法级别的注解。你使用test!testURL.action与testURL.action访问,实际上访问的是namespace指定的web-inf/content/namespace/目录下的位置
2013年4月15日 16:07
-
<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
相关推荐
10. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,使得Action方法的调用不再局限于固定的命名规则,增加了灵活性。 综上所述,Struts2是一个全面的Web开发框架,它提供了许多功能...
除了XML配置外,Struts2也支持使用注解进行配置,比如`@Action`, `@Result`, `@InterceptorRef`等,这使得代码更简洁,更易于维护。 **4. 动态方法调用(Dynamic Method Invocation,DMI):** Struts2支持动态方法...
- Struts2提供了全局异常处理机制,可以统一处理程序中的异常,提供友好的错误页面。 10. **国际化(i18n)** - Struts2支持多语言,开发者可以轻松实现应用的国际化。 通过阅读“struts2帮助文档.chm”,你可以...
Struts2的动态方法调用(Dynamic Method Invocation,DMI)允许我们根据用户输入来决定执行哪个Action方法。在没有明确的方法名时,Struts2会尝试匹配Action类中的方法。这种方式增加了代码的灵活性,但同时也可能...
1. **注解支持**:除了XML配置,Struts2还支持使用注解进行Action、拦截器和结果的配置。 2. **动态方法调用(Dynamic Method Invocation,DMI)**:允许通过URL直接调用Action的方法,提高灵活性。 3. **插件体系**...
2. **动态方法调用(Dynamic Method Invocation,DMI)**:不同于Struts1中的硬编码Action类和方法,Struts2允许动态地调用Action类的方法,增强了代码的可维护性和可扩展性。 3. **OGNL(Object-Graph Navigation ...
Struts2引入了动态方法调用(Dynamic Method Invocation,DMI),允许根据URL中的Action名动态调用Action类的方法,提高了灵活性。 **5. Interceptors(拦截器)** 拦截器是Struts2的一大特色,它们在Action执行...
Struts2的配置可以是XML(struts.xml或struts-default.xml等)或者注解(@Action、@Result等)。XML配置灵活,适用于大型项目;注解配置简单,适合小型项目。 通过阅读和理解Struts2的源码,开发者可以更深入地了解...
5. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2允许通过URL直接调用Action类的方法,增强了灵活性。 6. **OGNL(Object-Graph Navigation Language)**:Struts2内部广泛使用OGNL作为表达式语言,...
除了XML配置外,Struts2也支持使用注解来配置Action、结果类型和拦截器,简化开发过程。 10. **模型驱动(ModelDriven)** ModelDriven模式可以帮助减少Action类的代码量,将模型对象自动绑定到Action上下文中。 ...
6. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持动态方法调用,这意味着你可以直接根据URL调用Action中的方法,无需在配置文件中硬编码所有Action方法。 7. **插件系统**:Struts2拥有丰富的...
Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域具有广泛的应用。作为一个初学者,掌握Struts2对于深入理解Web框架的工作原理以及提高开发效率至关重要。本资源...
这个核心jar包是Struts2框架的基础组件,包含了运行Struts2应用程序所需的关键类和库。下面将详细介绍Struts2.3的核心知识点: 1. **Action接口与ActionSupport类**: Struts2中的Action接口定义了处理用户请求的...
7. **验证框架**:Struts 2内置了基于XML或注解的表单验证机制,可以有效地校验用户输入。 8. **Ajax支持**:Struts 2提供了与jQuery等库集成的Ajax功能,使得部分页面刷新成为可能。 《Struts 2权威指南》这本书...
8. **异常处理**:Struts2提供了一套完整的异常处理机制,可以自定义错误页面和异常策略。 9. **主题和皮肤**:Struts2允许定制界面样式,提供多种预定义的主题和皮肤。 在这个"struts-2.5.13-all.zip"压缩包中,...
这些资源可能涵盖了Struts的架构、配置、核心组件以及Struts2的新特性,比如OGNL表达式语言、动态方法调用(DMI)和注解配置等。 总的来说,学习并应用Struts框架可以显著提升JSP应用程序的组织结构,使其更加符合...
- **配置文件**: XML配置文件(struts.xml)用于定义Action、结果、拦截器栈等,而Struts 2也支持注解配置,使得配置更加灵活。 - **结果类型(Result Type)**: 结果类型定义了Action执行后的跳转方式,如转发、...
9. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持通过URL直接调用Action的方法,使得URL更具语义化。 10. **Validation框架**:内置了强大的表单验证机制,可以在客户端和服务端进行数据校验。 ...
4. **动态方法调用(Dynamic Method Invocation,DMI)**:Struts2支持直接通过URL调用Action类的方法,这使得URL更加语义化,增强了可读性和可维护性。 5. **模型驱动(ModelDriven)**:一种Action接口实现,允许...
宾馆住宿管理系统是一款专为酒店业设计的信息化解决方案,它集成了现代化的技术,如Struts2框架、JavaScript编程以及全面的注解应用,旨在提升酒店的运营效率和服务质量。下面,我们将深入探讨这个系统的关键技术和...