由于result type="redirect-action"所以index.action中获取不到delete方法中处理得到的ActionMessage,ActionError;
解决办法:
修改<result type="redirect-action">index</result>为:
<result type="chain">index</result>可;
result type的类型说明如下:
Chain : 用来处理Action链
Dispatcher : 用来转向页面,通常处理JSP
FreeMarker : 处理FreeMarker模板
HttpHeader : 用来控制特殊的Http行为
Redirect : 重定向到一个URL
Redirect-Action : 重定向到一个Action
Stream : 向浏览器发送InputSream对象,通常用来处理文件下载
Velocity :处理Velocity模板
XLS :处理XML/XLST模板
PlainText :显示原始文件内容,例如文件源代码
S2PLUGINS:Tiles : 结合Tile使用
在struts2-core-2.x.jar中可以找到struts-default.xml文件,这个文件内已经有了对于所有类型Result的定义;
这是一个简单的例子
public class a extends ActionSupport {
private String name="a";
public String execute(){
return SUCCESS;
}
}
public class b extends ActionSupport {
private String name="b";
public String execute(){
System.out.println(name);
return SUCCESS;
}
}
struts.xml
<action name="b" class="com.test.one.b">
<result>welcome.jsp</result>
</action>
<action name="a" class="com.test.one.a">
<result name="success" type="chain">b</result>
</action>
如果访问a.action他会根据struts.xml转到b.action,这时他打印什么呢??
会不会传递属性了呢??
引用
b
这是打印结果.....
但如果给 a加上get方法
b加上set方法,就可以了!!并且这两个类的参数的名字一定要相同!
这其实是chain拦截器起的作用。
如果上面的struts.xml不加type=“chain”,那样他会提示找不到b
因为加了chain之后 他才会包装参数成ActionName
所以就无法传递下去!
分享到:
相关推荐
Struts是Java Web开发中的一款经典MVC框架,它的核心组件包括Action、ActionForm、Dispatcher Servlet(Controller)以及视图技术。在这个“Struts中ActionError学习”的主题中,我们将深入探讨ActionError这一机制...
在调用Struts Action时,经常需要向Action传递参数。这些参数可以是通过URL查询字符串传递,也可以是通过表单的字段值传递。 - **通过URL查询字符串传递参数**: 在调用Action时,可以在URL后面添加查询字符串来...
### Struts2中Action间的参数传递方法 在Struts2框架中,经常需要实现Action之间的跳转,并在跳转过程中传递必要的参数。这种需求在实际开发中非常常见,尤其是在需要根据用户的不同操作来调用不同的业务逻辑时。...
Struts2 中 Action 接收参数的方法 Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性...
Struts是Java Web开发中的一个开源框架,主要负责控制应用程序的流程,而Action技术是Struts的核心组件之一,用于处理用户的请求。在这个场景中,我们讨论的是如何利用Struts的Action来实现对数据库数据的增删改查...
这篇名为“Struts2 使用action属性接收中文参数(post提交)”的博文可能讲述了如何在Struts2框架中正确处理中文POST请求。在处理中文参数时,主要涉及以下几个关键知识点: 1. **字符编码设置**: - 请求编码:...
它根据配置文件(struts-config.xml)中的映射信息来处理请求,将请求分发到相应的Action,Action执行完毕后返回一个ActionForward对象,指示应该转向哪个JSP页面或者其他的Action。 Struts与Spring框架的结合使用...
ActionForm则用于在Action和视图之间传递数据。书中会详细讲解如何创建和配置这两个关键组件。 5. **国际化和本地化**:Struts支持多语言应用,书中会介绍如何配置资源文件,实现应用的国际化和本地化。 6. **异常...
Struts 中数据在 Action 与 JSP 中的传递总结 Struts 框架中,数据在 Action 与 JSP 之间的传递是一种常见的需求。为了实现这种传递,Struts 提供了多种方式,本文将对这些方式进行总结。 方式一:通过 FormBean ...
- **定义**:Action类是Struts 2中的核心组件之一,它负责处理用户的请求并将数据传递给视图层。 - **特点**:Action类可以使用注解或XML配置文件进行配置,这为开发人员提供了极大的灵活性。通过实现`Action`接口...
总结来说,通过这种方式,我们可以利用AJAX向Struts2 Action传递JSON数组,实现异步数据交互。这在动态更新页面内容、处理表单提交等场景下非常有用。同时,使用JSON作为数据交换格式,使得前后端的数据交换变得更加...
3. **Action和ActionForm**:学习Action类如何处理用户请求,以及ActionForm对象如何在请求和模型之间传递数据。了解如何创建自定义Action和ActionForm实现特定功能。 4. **Tiles框架集成**:Struts常与Tiles框架...
在《Struts In Action》一书中,你可以学习到以下几个关键知识点: 1. **Struts框架基础**:理解Struts的核心概念,包括Action、Form Beans、Actionservlet、配置文件(struts-config.xml)等。这些是构建基于...
在这个"Struts的小列子三个Action"中,我们将深入探讨Struts框架的核心概念,特别是Action组件在其中的作用。 首先,Action是Struts框架中的关键组成部分,它是业务逻辑与请求处理的桥梁。在描述中提到的"三个...
2. **OGNL表达式语言**:Struts2使用OGNL(Object-Graph Navigation Language)进行数据绑定和表达式操作,学习如何使用OGNL进行数据访问和传递。 3. **拦截器**:讲解拦截器的原理和实现,如何自定义拦截器进行...
在Struts框架中,核心概念包括Action、ActionForm、Dispatcher(也就是控制器Servlet,即Struts Action Servlet)、配置文件(struts-config.xml)以及视图技术如JSP等。Action是处理用户请求的对象,ActionForm则...
在《Struts In Action》一书中,作者详细介绍了Struts的核心概念和工作原理,包括Action、Form Bean、配置文件、国际化、异常处理、Tiles组件、Struts与Spring的集成、Struts与Hibernate的整合等。书中的实例丰富,...
1. **单一Action处理多个业务**:在一个Action类中定义多个方法,每个方法对应一个业务,然后在struts-config.xml配置文件中为每个方法指定不同的`<action>`元素。请求参数可以用来区分调用哪个方法。 2. **使用...
4. **ActionForm**:ActionForm对象用于收集和验证用户的输入数据,从HTTP请求中提取数据,并传递给Action类进行处理。 5. **Tiles框架集成**:Struts支持Tiles框架,允许开发者创建可重用的页面组件,提高视图设计...