1 异常 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login (/Login是你的action名字)
可能原因:action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用 处理:如果出现上述异常,请查看struts-config.xml中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用struts console工具来检查。
2 异常 org.apache.jasper.JasperException: Cannot retrieve definition for form bean null
可能原因: 这个异常是因为Struts根据struts-config.xml中的mapping没有找到action期望的form bean。大部分的情况可能是因为在form-bean中设置的name属性和action中设置的name属性不匹配所致。换句话说,action和form都应该各自有一个name属性,并且要精确匹配,包括大小写。这个错误当没有name属性和action关联时也会发生,如果没有在action中指定name属性,那么就没有name属性和action相关联。当然当action制作某些控制时,譬如根据参数值跳转到相应的jsp页面,而不是处理表单数据,这是就不用name属性,这也是action的使用方法之一。
3 异常 No action instance for path /xxxx could be created
可能原因
特别提示:因为有很多中情况会导致这个错误的发生,所以推荐大家调高你的web服务器的日志/调试级别,这样可以从更多的信息中看到潜在的、在试图创建action类时发生的错误,这个action类你已经在struts-config.xml中设置了关联(即添加了标签)。
在struts-config.xml中通过action标签的class属性指定的action类不能被找到有很多种原因,例如:
定位编译后的.class文件失败。Failure to place compiled .class file for the action in the classpath (在web开发中,class的的位置在r WEB-INF/classes,所以你的action class必须要在这个目录下。例如你的action类位于WEB-INF/classes/action/Login.class,那么在struts-config.xml中设置action的属性type时就是action.Login).
拼写错误,这个也时有发生,并且不易找到,特别注意第一个字母的大小写和包的名称。
在struts-config.xml中指定的action类没有继承自Stuts的Action类,或者你自定义的Action类没有继承自Struts提供的Action类。
你的action类必须继承自Struts提供的Action类。
你的classpath的问题。例如web server没有发现你的资源文件,资源文件必须在WEB-INF/classes/目录下。
4 异常 javax.servlet.jsp.JspException: No getter method for property username of bean org.apache.struts.taglib.html.BEAN
可能原因
没有位form bean中的某个变量定义getter 方法
这个错误主要发生在表单提交的FormBean中,用struts标记时,在FormBean中必须有一个getUsername()方法。注意字母“U”。
5 Exception javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
可能原因
不是标识Struts actionServlet的标记就是映射.do扩展名的标记或者两者都没有在web.xml中声明。
在struts-config.xml中的打字或者拼写错误也可导致这个异常的发生。例如缺少一个标记的关闭符号/>。最好使用struts console工具检查一下。
另外,load-on-startup必须在web.xml中声明,这要么是一个空标记,要么指定一个数值,这个数值用来表servlet运行的优先级,数值越大优先级越低。
还有一个和使用load-on-startup有关的是使用Struts预编译JSP文件时也可能导致这个异常。
6 Exception
javax.servlet.jsp.JspException: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
Probable Causes
试图在Struts的form标记外使用form的子元素。这常常发生在你在后面使用Struts的html标记。
另外要注意可能你不经意使用的无主体的标记,如,这样web 服务器解析时就当作一个无主体的标记,随后使用的所有标记都被认为是在这个标记之外的,如又使用了
还有就是在使用taglib引入HTML标记库时,你使用的prefix的值不是html。
分享到:
相关推荐
### Struts 常见异常及处理 #### 1. javax.servlet.ServletException: Must specify type attribute if name is specified - **异常描述**:当在 JSP 页面中使用自定义标签时,如果标签中定义了 `name` 属性,则...
以下是一些Struts常见的错误及其可能的原因: 1. **Cannot retrieve mapping for action 异常** 当尝试访问一个未在`struts-config.xml`中定义的Action时,会出现此异常。这可能是因为你在JSP文件中指定了一个不...
1. **struts-core**:这是Struts框架的核心包,包含了处理HTTP请求、动作映射、结果转发、异常处理等核心功能。其中,`ActionServlet`是框架的入口点,负责拦截所有的HTTP请求,`ActionMapping`定义了请求与Action类...
在Struts2框架的应用中,经常会出现各种类型的异常,其中一种常见的异常便是数字格式异常(`NumberFormatException`)。这种异常通常发生在应用程序尝试将非数字字符串转换为数字类型(如`Integer`或`Double`)时。 ...
在Struts框架的开发过程中,我们经常会遇到一些常见的异常情况,这些异常不仅会打断我们的工作流程,还会影响到应用程序的正常运行。本文将针对`Servlet.service() for servlet jsp threw exception`这一常见异常...
在实际应用中,还需要了解更多的配置选项、拦截器、结果类型、国际化、异常处理等高级特性,以充分利用Struts2的强大功能。同时,随着技术的发展,Struts2也面临着Spring MVC和JSF等其他框架的竞争,但其丰富的社区...
在这个主题中,我们将详细探讨Struts2框架中常用的jar包及其作用。 1. **struts2-core-2.3.34.jar**:这是Struts2的核心库,包含了框架的主要组件,如Action类、拦截器、结果类型、配置管理等。它实现了请求的处理...
3. **Struts2.1.8.CHM**:这个文件可能是整个Struts 2.1.8框架的官方文档,除了API之外,还可能包含框架的设计理念、最佳实践和常见问题解答,帮助开发者深入理解Struts的内部机制。 4. **Struts2_zh.chm**:这可能...
以下是一些关于Struts框架中常见的问题及其解决方案: 1. **ActionServlet配置问题**:如果在web.xml文件中没有正确配置ActionServlet,可能会导致应用无法启动。确保 `<servlet>` 和 `<servlet-mapping>` 配置正确...
以下是一些常见的Struts2异常及其解决方法: ##### 1. **ActionNotFoundException** **异常说明:** 当Struts2无法找到对应的Action类时,会抛出此异常。 **解决方案:** - 检查`struts.xml`配置文件中的`<action>`...
本文档主要针对"struts2.0常用标签"进行详细讲解,帮助开发者更好地理解和使用这些标签。 1. **ognl表达式**:Struts2中的标签大部分都基于OGNL(Object-Graph Navigation Language)表达式,它用于在视图层和模型层...
在本篇文章中,我们将深入探讨如何解决在MyEclipse环境下开发Struts应用时遇到的一个常见问题:“org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib...
### Struts常见错误及原因分析 #### 一、异常 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login **异常描述**: 该异常通常出现在尝试访问一个未在`struts-config.xml`文件中正确配置...
8. **异常处理**:Struts框架提供了强大的异常处理机制,可以通过配置文件定义全局或特定Action的异常处理策略,以确保程序的健壮性。 9. **Action Support**:Struts提供了ActionSupport类,它包含了常用的验证和...
常见的JDBC异常包括`SQLException`,它通常是数据库操作失败的结果。处理JDBC异常通常涉及捕获`SQLException`并在捕获块中处理错误信息。例如,确保正确的驱动程序加载,正确配置连接参数,以及在关闭资源(如...
本篇文章将详细讲解Struts2中的常用标签,主要分为九个部分进行阐述。 一、展示数据标签 1. `<s:property>`:这个标签用于显示Action或ActionForm属性的值。例如,`<s:property value="username" />`会显示与...
`struts2常用包.zip`包含了Struts2框架运行所必需的一些核心库和其他支持库。下面将详细介绍这些文件及其在Struts2中的作用: 1. `struts2-core-2.3.1.2.jar`:这是Struts2的核心库,包含了框架的主要组件和功能。...
这个“struts2.0常用功能练习”压缩包很可能是为了帮助初学者熟悉并掌握Struts2.0的核心特性而准备的。以下是对Struts2.0一些重要特性和实践方法的详细说明: 1. **Action类与结果映射**:在Struts2中,业务逻辑...
原文中提到“struts2 null异常”,这通常指的是在使用Struts2框架时遇到的NullPointerException。此类异常一般发生在尝试访问一个对象的属性或方法时,该对象为null的情况下。解决这类问题通常需要检查相关的配置...
9. **异常处理**:Struts2提供了全局和局部的异常处理机制,可以统一处理应用中的异常情况,提高代码的可维护性和用户体验。 10. **国际化(i18n)**:Struts2支持多语言环境,通过资源包(Properties文件)来实现...