遇到Invalid action class configuration that reference的时候,你可以在你的Action中设置一下断点,来判断一下他是否找到了这个action。
不过遇到这个异常的时候都是没有进到action。
这时候,有几种可能导致呢?
(1)struts.xml的配置写的不对,name,class检查一下。如果是和spring做整合的,要注意struts中的class写的spring配置文件中的name,在spring配置文件中bean中才写真正的class路径。
(2)如果(1)没有问题,如果一个Action有的方法可以被访问到,有的访问无法访问到,报出这个异常,以后其他的方法也无法访问到这个Action,那么很有可能是你的Spring的配置文件中bean的配置,要知道spring bean默认是单例模式的。如果你把struts的action交给spring来管理,最好把scope改成protype。
(3)如果(1),(2)都没有问题,那么很有可能是这个问题,你的javabean和jsp页面中的value类型不一样,比如你的一个类Channel(JavaBean),他有一个属性Site(JaVaBean),而你在jsp页面中input的value是String类型的,就会导致类型不一样,抱着错误;还有一个Time类型的也是常见的错误,javaBean中式Date类型,而jsp中式String类型的
还有一个你通过设置断点,debug已经进入了Action代码,但是还是报异常,那么这时候你可以检查你的struts.xml你的return是否配置好了
(1)Action类中的return在struts.xml中是否有匹配,name的检查
(2)如果name正确的话,你的result的value中的jsp页面是否存在。
遇到问题,一定要沉住气,对着几百行的代码耐心的检查,一定能发现,不要着急求快,那样效率只会更低!
Invalid action class configuration that reference 异常