This page contains errors and exceptions commonly encountered during web application development using Struts
To find the error you
Cannot retrieve mapping for action
錯誤信息 javax
可能原因
lNo action defined in struts
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
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
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28072.html