java

位置:IT落伍者 >> java >> 浏览文章

Struts常见错误及原因分析


发布日期:2022年01月28日
 
Struts常见错误及原因分析

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 youre looking for use your browsers Find or Search capability and input a few words that you are seeing in your error message

Cannot retrieve mapping for action

错误信息 javaxservletjspJspException: Cannot retrieve mapping for action /Login

可能原因

lNo action defined in strutsconfigxml to match that specified in the JSPs相关链接

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 /struts-use/l ·

lAction Mapping mistake in struts-config.xml:?forum=siaao&readthread=177 ·data-sources.xml file?:_id=30

No getter method for property XXXX of bean org.apacl.BEAN

错误信息 javax.servlet.jsp.JspException: No getter method for property username of bean org.apacl.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 tag-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 tags for the Struts action servlet or the 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.apacl.BEAN in any scope

错误信息 javax.servlet.jsp.JspException: Cannot find bean org.apacl.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 ?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 /struts-use/l

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

上一篇:Java中集合容器类List和Set的用法

下一篇:对Spring中接口注入的理解实例分析