今天做项目的时候遇到了一个问题, 一直在报错: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 作者
分享到:
相关推荐
6. **struts-bean**:这个包包含了一些处理JavaBean的标签,如`<bean:define>`、`<bean:message>`,它们简化了在JSP页面上操作和显示Bean属性的过程。 7. **struts-el**:支持表达式语言(EL,Expression Language...
当JSP页面中的`<html:form>`标签中的`action`属性值与struts-config.xml文件中的映射不匹配时,会出现此类异常。 - **解决方案:** - 检查JSP页面中的`<html:form>`标签中的`action`属性值是否与struts-config....
在Struts中,我们通常使用JSP(JavaServer Pages)来创建动态网页,而Struts中文标签则是为了增强JSP的表现力,使开发者可以更方便地处理中文字符集和中文输入的问题。 在Struts框架中,HTML标签库已经非常强大,但...
* bean:define:定义一个 bean,通常用于将 JavaBean 组件与 Struts 集成。 * bean:header:取回请求头中的值,例如用户代理、语言等。 * bean:include:将一个 JSP 文件包含到当前 JSP 文件中。 * bean:message:...
- **`<s:bean>`**:用于创建或访问JavaBean实例,类似于Struts1中的`<bean:define>`标签。Struts2的`<s:bean>`标签允许更复杂的配置选项,如注入依赖等。 - **`<s:checkbox>`**:用于创建单个复选框。与Struts1中的...
在Struts框架中,标签库是用于简化JSP页面开发的关键元素,它们提供了与ActionForm对象交互、数据验证、国际化等常见任务的简便方式。以下是一些重要的Struts标签及其功能: 1. **logic标签**:这些标签主要用于...
在Struts框架中,ActionServlet扮演了控制器的角色,它是整个框架的入口点,处理用户请求,调用模型处理数据,再将结果返回给视图展示。 #### 二、Struts框架概述 Struts是Apache软件基金会支持的一个开源项目,...
- **`define`**: 不能在类内部直接定义(虽然可以在类的静态方法中调用`define`),只能在类外部定义。 ```php // 正确使用const class MyClass { const MY_CONST = 'Class Const'; } // 错误示例:不能在类...
`DEFINE_CG_MOTION`和`DEFINE_GRID_MOTION`是UDF编程中用于定义网格运动的两个关键函数。它们是ANSYS Fluent内建的宏,用于在UDF中指定网格如何随时间变化。 1. `DEFINE_CG_MOTION`:这个宏主要用于定义中心点...
在Struts中,控制器主要是通过`ActionServlet`来实现的。 #### 三、Struts框架中的关键组件 ##### 3.1 Struts配置文件 **Struts配置文件** (`struts-config.xml`) 是Struts应用程序的核心配置文件,它定义了应用...
1. **控制器组件**:Struts框架中的控制器是`ActionServlet`,它是一个Servlet,负责接收HTTP请求,解析请求参数,并调用相应的业务逻辑。 2. **模型组件**:模型由业务逻辑组成,通常是由JavaBean或EJB实现。模型...
标题中的"DEFINE_DPM_EROSION.rar_DEFINE DPM EROSION_DPM_UDF EROSION_fluent"指的是一款与 Fluent 模拟软件相关的用户定义函数(UDF),用于模拟颗粒动力学(DPM)过程中的侵蚀现象。Fluent 是一款广泛使用的计算...
在使用 Struts 框架时,如果遇到 `No bean found under attribute key XXX` 这类错误,通常意味着在 Struts 的配置文件 `struts-config.xml` 或者 `ApplicationResources.properties` 文件中存在缺失或者错误的配置...
4. **请求处理流程**:当用户发起请求时,请求会被ActionServlet捕获,根据struts-config.xml中的配置转发到相应的Action,Action处理完业务逻辑后,可能会返回一个ActionForward对象,指定下一个JSP页面来显示结果...
在Struts中,标签库是其增强视图层表现力的重要组成部分,使得XML和JSP页面的编写更为简洁、清晰。 `struts标签中文文档`是针对Struts框架中的标签库提供的中文参考文档,这对于中文开发者来说是一份非常实用的资源...
- `struts-bean`:提供了显示和操作Form Bean的标签,如`<bean:define>`,`<bean:write>`等。 - `struts-html`:用于HTML表单元素的控制,如`<html:form>`,`<html:submit>`等。 - `struts-logic`:提供流程控制...
首先,文件上传在Struts中通常涉及到两个主要部分:前端HTML表单和后端Action类。在前端,我们需要一个`<input type="file">`标签来让用户选择要上传的文件。在描述中提到的`htmltaglib`可能是指JSP标准标签库(JSTL...
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 指令是 C 语言中的一种预处理指令,用于给常量赋予一个有意义的名称。在本文中,我们将详细介绍 #define 指令的用法、实例和注意事项。 定义 ---- #define 指令的基本语法有两种形式: ```c #define ...
Struts1标签库是Java Web开发中的一种工具,主要用于简化基于MVC模式的Struts框架下的JSP页面开发。尽管目前Struts1已逐渐被更新的版本如Struts2取代,但了解其标签库仍然有助于理解Web应用的历史发展和基础概念。 ...