`
chenyuguxing
  • 浏览: 40079 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

struts中no result define for ×××Action

 
阅读更多

今天做项目的时候遇到了一个问题, 一直在报错:No result defined for action, 本来以为是配置文件中没有对应的result导致的, 后来查了, 发现配置文件和action都没有问题, 但是就是一直报错, 连action中的方法都进不去,

原来:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的Result,不能够把错误返回,所以报这种错误。

解决方法:

当你在用struts2开发时,如果,从页面跳入action时,页面报No result defined for action and result时,大部分的原因有以下几种:

1、validate方法没有通过;

2、页面元素中有重命名时,但后台action类的对应的接收此同名参数的是变量而没有写成数组


要检查这种错误时,可以
1,在后台action类中重写ActionSupport中的
void addActionError(String anErrorMessage)
void addActionMessage(String aMessage)
void addFieldError(String fieldName, String errorMessage)
这三个方法,在并在其实现代码中设置断点,监控传入的参数,并可获知页面的相关报错具体原因.
2,在页面中加入以下标签,将错误显示出来 :

< div style =”color:red” >
< s:fielderror />
</ div >

public void addActionError(String anErrorMessage){
String s=anErrorMessage;
System.out.println(s);
}
public void addActionMessage(String aMessage){
String s=aMessage;
System.out.println(s);

}
public void addFieldError(String fieldName, String errorMessage){
String s=errorMessage;
String f=fieldName;
System.out.println(s);
System.out.println(f);

}

果然, 在加入上面三个方法后, 控制台打印出了 : Invalid value for field userId. 原来是前台传过来的userId有问题


感谢http://www.blogjava.net/javagrass/archive/2011/07/20/354684.html 作者

分享到:
评论

相关推荐

    struts的九个必备常用包

    6. **struts-bean**:这个包包含了一些处理JavaBean的标签,如`&lt;bean:define&gt;`、`&lt;bean:message&gt;`,它们简化了在JSP页面上操作和显示Bean属性的过程。 7. **struts-el**:支持表达式语言(EL,Expression Language...

    struts常见错误以及解决

    当JSP页面中的`&lt;html:form&gt;`标签中的`action`属性值与struts-config.xml文件中的映射不匹配时,会出现此类异常。 - **解决方案:** - 检查JSP页面中的`&lt;html:form&gt;`标签中的`action`属性值是否与struts-config....

    struts中文标签

    在Struts中,我们通常使用JSP(JavaServer Pages)来创建动态网页,而Struts中文标签则是为了增强JSP的表现力,使开发者可以更方便地处理中文字符集和中文输入的问题。 在Struts框架中,HTML标签库已经非常强大,但...

    struts1标签库详解

    * bean:define:定义一个 bean,通常用于将 JavaBean 组件与 Struts 集成。 * bean:header:取回请求头中的值,例如用户代理、语言等。 * bean:include:将一个 JSP 文件包含到当前 JSP 文件中。 * bean:message:...

    struts2标签库

    - **`&lt;s:bean&gt;`**:用于创建或访问JavaBean实例,类似于Struts1中的`&lt;bean:define&gt;`标签。Struts2的`&lt;s:bean&gt;`标签允许更复杂的配置选项,如注入依赖等。 - **`&lt;s:checkbox&gt;`**:用于创建单个复选框。与Struts1中的...

    struts标签中文手册,struts标签中文手册,struts标签中文手册

    在Struts框架中,标签库是用于简化JSP页面开发的关键元素,它们提供了与ActionForm对象交互、数据验证、国际化等常见任务的简便方式。以下是一些重要的Struts标签及其功能: 1. **logic标签**:这些标签主要用于...

    struts1.2.doc

    在Struts框架中,ActionServlet扮演了控制器的角色,它是整个框架的入口点,处理用户请求,调用模型处理数据,再将结果返回给视图展示。 #### 二、Struts框架概述 Struts是Apache软件基金会支持的一个开源项目,...

    php中const与define的区别 具体归纳详细介绍

    - **`define`**: 不能在类内部直接定义(虽然可以在类的静态方法中调用`define`),只能在类外部定义。 ```php // 正确使用const class MyClass { const MY_CONST = 'Class Const'; } // 错误示例:不能在类...

    UDF 动网格,DEFINE-CG-MOTION,DEFINE-GRID-MOTION

    `DEFINE_CG_MOTION`和`DEFINE_GRID_MOTION`是UDF编程中用于定义网格运动的两个关键函数。它们是ANSYS Fluent内建的宏,用于在UDF中指定网格如何随时间变化。 1. `DEFINE_CG_MOTION`:这个宏主要用于定义中心点...

    Struts中文手册

    在Struts中,控制器主要是通过`ActionServlet`来实现的。 #### 三、Struts框架中的关键组件 ##### 3.1 Struts配置文件 **Struts配置文件** (`struts-config.xml`) 是Struts应用程序的核心配置文件,它定义了应用...

    struts文档

    1. **控制器组件**:Struts框架中的控制器是`ActionServlet`,它是一个Servlet,负责接收HTTP请求,解析请求参数,并调用相应的业务逻辑。 2. **模型组件**:模型由业务逻辑组成,通常是由JavaBean或EJB实现。模型...

    DEFINE_DPM_EROSION.rar_DEFINE DPM EROSION_DPM_UDF EROSION_fluent

    标题中的"DEFINE_DPM_EROSION.rar_DEFINE DPM EROSION_DPM_UDF EROSION_fluent"指的是一款与 Fluent 模拟软件相关的用户定义函数(UDF),用于模拟颗粒动力学(DPM)过程中的侵蚀现象。Fluent 是一款广泛使用的计算...

    Struts常见错误汇总

    在使用 Struts 框架时,如果遇到 `No bean found under attribute key XXX` 这类错误,通常意味着在 Struts 的配置文件 `struts-config.xml` 或者 `ApplicationResources.properties` 文件中存在缺失或者错误的配置...

    Struts快速学习指南

    4. **请求处理流程**:当用户发起请求时,请求会被ActionServlet捕获,根据struts-config.xml中的配置转发到相应的Action,Action处理完业务逻辑后,可能会返回一个ActionForward对象,指定下一个JSP页面来显示结果...

    struts标签中文文档

    在Struts中,标签库是其增强视图层表现力的重要组成部分,使得XML和JSP页面的编写更为简洁、清晰。 `struts标签中文文档`是针对Struts框架中的标签库提供的中文参考文档,这对于中文开发者来说是一份非常实用的资源...

    struts下载,嵌入开发struts框架必备

    - `struts-bean`:提供了显示和操作Form Bean的标签,如`&lt;bean:define&gt;`,`&lt;bean:write&gt;`等。 - `struts-html`:用于HTML表单元素的控制,如`&lt;html:form&gt;`,`&lt;html:submit&gt;`等。 - `struts-logic`:提供流程控制...

    struts文件上传例子及页面基本标签用法

    首先,文件上传在Struts中通常涉及到两个主要部分:前端HTML表单和后端Action类。在前端,我们需要一个`&lt;input type="file"&gt;`标签来让用户选择要上传的文件。在描述中提到的`htmltaglib`可能是指JSP标准标签库(JSTL...

    Direct Oracle Access v4.1.3.1 for XE2 Full Source

    Direct_Oracle_Access_v4.1.3.1_XE2_FS_CPP_and_Delphi.7z 包括两个目录: Direct Oracle Access 4.1.3.1 XE2 Delphi ...{$DEFINE CompilerVersionXE2} // Define for Delphi and C++Builder XE2

    #define——用法大全

    #define 指令是 C 语言中的一种预处理指令,用于给常量赋予一个有意义的名称。在本文中,我们将详细介绍 #define 指令的用法、实例和注意事项。 定义 ---- #define 指令的基本语法有两种形式: ```c #define ...

    Struts1标签库

    Struts1标签库是Java Web开发中的一种工具,主要用于简化基于MVC模式的Struts框架下的JSP页面开发。尽管目前Struts1已逐渐被更新的版本如Struts2取代,但了解其标签库仍然有助于理解Web应用的历史发展和基础概念。 ...

Global site tag (gtag.js) - Google Analytics