Struts常见错误及原因
Common Struts Errors and Causes
This page contains errors and exceptions commonly encountered during web application development using Struts. Along with the exception or error messages themselves, potential causes of these errors are often listed along with links to additional resources.
To find the error you're looking for, use your browser's Find or Search capability and input a few words that you are seeing in your error message.
Cannot retrieve mapping for action
错误信息 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login
可能原因
lNo action defined in struts-config.xml to match that specified in the JSP's <html:form action="Login.do".
相关链接
No action instance for path /xxxx could be created
错误信息 No action instance for path /xxxx could be created
可能原因
lSpecial Note: Because so many different things can cause this error, it is recommended that you turn your error logging/debugging levels on your web server to a high level of verbosity to see the underlying problems in trying to instantiate the action class you have written and associated with the specified action xxxx through an action mapping in the struts-config.xml file.
lYour Action class specified in the struts-config.xml file under the class attribute of the action mapping for action xxxx cannot be found for a variety of reasons, including (but not limited to): ·Failure to place compiled .class file for the action in the classpath (needs to be under WEB-INF/classes with the appropriate directory structure underneath this that matches the package your Action class belongs to). ·Package spelling or hierarchy specified in your action class itself (using the package keyword) does not match the spelling or complete package hierachy specified for your action class in the class attribute of the action in struts-config.xml.
lAction class specified in the /xxxx action mapping in the struts-config.xml file (class attribute) does not extend (directly or indirectly) from the Action class. In other words, your custom Action class does not extend off the Struts-provided Action class or off of another class that eventually extends the Action class (such as DispatchAction.
lProblem in your classpath, such as web server not being able to find ApplicationResources.properties files in the WEB-INF/classes/ directory or specified subdirectory.
lProblem in struts-config.xml file with action mapping.
lProblem with data-sources.xml file.
相关链接
lApplication's Action classes does not extend Struts-provided Action class·
lPackage hierarchy/directory structure specified in struts-config.xml file differs from that hierarchy specified in the actual action class's file using the package keyword.http://www.mail-archive.com/struts-user@jakarta.apache.org/msg65874.html ·
lAction Mapping mistake in struts-config.xml:http://www.manning.com/ao/readforum.html?forum=siaao&readthread=177 ·data-sources.xml file?:http://www.caucho.com/quercus/faq/section.xtp?section_id=30
No getter method for property XXXX of bean org.apache.struts.taglib.html.BEAN
错误信息 javax.servlet.jsp.JspException: No getter method for property username of bean org.apache.struts.taglib.html.BEAN
可能原因
lNo getXXXX() method defined for form field with name XXXX
lThis can happen if the JSP/Struts developer forgets that the name of the get method will have the same spelling as the value supplied in the Struts tag's property attribute, but that case will be different and is based on JavaBean specification rules. For example, my form class should have a getUsername method if my Struts form-related tag has username as the value for its property attribute. Note the difference in case marked with emphasis on the letter "U."
相关链接
lCase can trip up the matching between get method's name and name specified in Struts taghttp://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=58&t=000163
Exception creating bean of class org.apache.struts.action.Actionform: {1}
错误信息 javax.servlet.jsp.JspException: Exception creating bean of class org.apache.struts.action.Actionform: {1}
可能原因
lInstantiating Struts-provided Actionform class directly instead of instantiating a class derived off Actionform. This might occur implicitly if you specify that a form-bean is this Struts Actionform class rather than specifying a child of this class for the form-bean.
lNot associating an Actionform-descended class with an action can also lead to this error.
Cannot find ActionMappings or ActionformBeans collection
错误信息 javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionformBeans collection
可能原因
lEither the <servlet> tags for the Struts action servlet or the <servlet-mapping> tags for the .do extension mapping or both not present in the web.xml file. I saw a case where the web.xml file had no elements other than the root element and so this error was occurring.
lTypos or spelling errors in the struts-config.xml can lead to this error message. For example, missing a slash ("/") on a closing tag can have this effect.
lAnother element that must be present in the web.xml file is the load-on-startup element. This can be either an empty tag or can have an integer specified that indicates the priority of executing the associated servlet. The higher the number in the load-on-startup tags, the lower its priority.
相关链接
NullPointerException at ... RequestUtils.forwardURL
错误信息 java.lang.NullPointerException at org.apache.struts.util.RequestUtils.forwardURL (RequestUtils.java:1223)
可能原因
lMissing path attribute in the forward subelement of the action element in struts-config.xml
相关链接
Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
错误信息 javax.servlet.jsp.JspException: Cannot find bean org.apache.struts.taglib.html.BEAN in any scope
可能原因
lTrying to use Struts form subelement tags outside of the Struts' form tag.
相关链接
lUsing form subelements outside of a form tag http://forum.java.sun.com/thread.jsp?thread=337537&forum=4&message=1384153
Missing message for key xx.xx.xx
错误信息 javax.servlet.jsp.JspException: Missing message for key xx.xx.xx
可能原因
lThe key-value pair with specified key is not in ApplicationResources.properties file
lApplicationResources.properties file not in classpath (not in WEB-INF/classes directory in specified location)
相关链接
Cannot find message resources under key org.apache.struts.action.MESSAGE
错误信息 Cannot find message resources under key org.apache.struts.action.MESSAGE
可能原因
lExplicitly trying to use message resources that are not available (such as ApplicationResources.properties not available
lImplicitly trying to use message resources that are not available (such as using empty html:options tag instead of specifying the options in its body -- this assumes options are specified in ApplicationResources.properties file)
lXML parser issues -- too many, too few, incorrect/incompatible versions
相关链接
lXML Parser Issues http://www.mail-archive.com/struts-user@jakarta.apache.org/msg15779.html
No input attribute for mapping path /loginAction
错误信息 No input attribute for mapping path /xxxxAction
可能原因
lNo input attribute in action mapping in struts-config.xml file for the action with the name specified in the error message. An input attribute is not required if form validation is not performed (either because the validate attribute is set to false or because the validation method in the relevant form class is not implemented. The input attribute specifies the page leading to this action because that page is used to display error messages from the form validation.
相关链接
Strange Output Characters (页面乱码)
错误信息 Strange and seemingly random characters in HTML and on screen, but not in original JSP or servlet.
可能原因
lRegular HTML form tags intermixed incorrectly with Struts html:form tags.
HTML标签与Struts标签不正确的混合使用
lEncoding style used does not support characters used in page.
使用了JSP页面不支持的编码
相关链接
"Document contained no data" or no data rendered on page (空白页面)
错误信息
l"Document contained no data" in Netscape (在Netscape中显示“文件中无数据”)
lNo data rendered (completely empty) page in Microsoft Internet Explorer(在IE中为空白页面,无任何显示信息)
可能原因
lEmploying a descendent of the Action class that does not implement the perform() method while using the Struts 1.0 libraries. Struts 1.1 Action child classes started using execute() rather than perform(), but is backwards compatible and supports the perform() method. However, if you write an Action-descended class for Struts 1.1 with an execute() method and try to run it in Struts 1.0, you will get this "Document contained no data" error message in Netscape or a completely empty (no HTML whatsoever) page rendered in Microsoft Internet Explorer.
l用Struts1.1写的应用在struts1.0环境中运行时,可能出现此问题。
相关链接
其它错误信息
编译JSP文件时出现错误:
java.lang.NullPointerException
error:org.apache.jasper.JasperException: Error compiling \JSPs\security\appUserCreate.jsp
可能原因:
JSP页面中的Struts标记有语法错误。
例如:<bean:message key=”button.submit”> 错误原因:右边的括号前缺少斜杠“/”
正确的为:<bean:message key=”button.submit”/>
不同语言资源文件中的Key不匹配。
分享到:
相关推荐
Struts常见错误及原因分析
### Struts常见错误及原因分析 #### 一、异常 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login **异常描述**: 该异常通常出现在尝试访问一个未在`struts-config.xml`文件中正确配置...
对于这类问题,仔细检查日志输出,定位具体错误原因,同时确保所有必要的库都已添加到类路径中。 总之,解决Struts错误的关键在于理解框架的工作原理、正确配置文件和遵循JavaBean规范。使用Struts Console这样的...
### Struts 常见错误及其解决方案 #### 一、`Servlet.service() for servlet jsp threw exception` 在Struts框架的开发过程中,我们经常会遇到一些常见的异常情况,这些异常不仅会打断我们的工作流程,还会影响到...
以下是对Struts常见错误及其原因的分析: 1. **Action类找不到或找不到对应的Action Mapping** 当请求无法映射到任何已定义的Action时,通常是因为配置文件(struts-config.xml)中的Action Mapping配置不正确。...
然而,如同任何复杂的框架一样,Struts2在开发和部署过程中可能会遇到一些常见错误。以下是一些典型的问题及相应的解决方案: 1. **异常启动过滤器Struts2:No mapping found for dependency** 这个错误通常是因为...
### Struts 常见错误汇总与解析 #### 1. No bean found under attribute key XXX **问题描述:** 在使用 Struts 框架进行 Java Web 开发时,经常会出现找不到对应属性键下的 Bean 的情况。这通常发生在 `...
### 配置Struts2常见错误及解决方案 #### 引言 Struts2是一个基于Java的Web应用框架,它能够帮助开发者快速构建出结构清晰、易于维护的应用程序。然而,在实际开发过程中,开发者经常会遇到一些配置上的问题,这些...
以上列举的错误是Struts开发者在实践中可能遇到的一些常见问题,理解这些错误的原因及解决方案对于快速定位并解决问题至关重要。在实际开发中,还应结合具体的应用场景和代码环境,灵活运用调试技巧和工具,提高问题...
### Struts 常见错误汇总与解析 #### 一、Nobean found under attribute key XXX 在 Struts 框架中,如果在请求作用域(request scope)中查找某个 ActionForm bean 时未找到,则会抛出此异常。这通常是因为在 `...
首先,我们要理解这个错误的根本原因。"No action instance for path /Logon could be created"错误表明Struts框架无法为指定路径'/Logon'创建Action实例。这通常是由于以下几个因素导致的: 1. **配置错误**:在...
### J2EE综合—Struts常见错误的全面总结 #### 一、概述 在Java企业级应用开发中,Struts框架作为MVC架构的一种实现,为开发者提供了强大的工具集来构建复杂的Web应用程序。然而,在实际项目开发过程中,由于配置...
以下是一些Struts常见的错误及其可能的原因: 1. **Cannot retrieve mapping for action 异常** 当尝试访问一个未在`struts-config.xml`中定义的Action时,会出现此异常。这可能是因为你在JSP文件中指定了一个不...
本文档中详细的描述了struts中常见的几种错误,以及解决这些错误的方法
在使用Struts开发时,理解并正确处理这些常见错误至关重要,它们可以帮助你避免不必要的开发困扰,提高开发效率。对于初学者来说,理解错误信息的含义以及如何从配置文件中查找和修复问题是必备技能。
### Struts 常见异常及处理 #### 1. javax.servlet.ServletException: Must specify type attribute if name is specified - **异常描述**:当在 JSP 页面中使用自定义标签时,如果标签中定义了 `name` 属性,则...
Java Struts是一个流行的MVC框架,用于构建Java Web应用程序。然而,在使用Struts进行开发时,...通过理解和掌握这些常见错误的原因,开发者可以更快地定位并修复问题,提高开发效率,确保Struts应用程序的稳定运行。
常见的错误包括: 1. **配置错误**:如XML配置文件中的实体映射错误、数据源配置错误等,可能导致SessionFactory无法创建。 2. **SQL异常**:查询语句编写错误或数据库表结构与实体类不匹配,可能导致无法执行HQL或...