关闭

org.apache.struts.action.ActionMessage cannot be cast to org.apache.struts.action.ActionError

1780人阅读 评论(2) 收藏 举报
http://cache.baidu.com/c?word=action%3B%2E%3Bactionmessage%2Ccannot%2Cbe%2Ccast%2Cto%2Corg%3B%2E%3Bapache%3B%2E%3Bstruts%3B%2E%3Baction%3B%2E%3Bactionerror&url=http%3A//grp0606grp%2Espaces%2Elive%2Ecom/blog/cns%2134fd59307720974a%21121%2Eentry&p=c079c54ad2c35af406be9b7e07508a&user=baidu


org.apache.struts.action.ActionMessage cannot be cast to org.apache.struts.action.ActionError

你struts版本多少的。

一共有这么几个class

ActionMessage
ActionMessages
ActionError
ActionErrors

其中
1 单数的是单条信息,复数的是信息的容器
2 Error错误,Message其他
3 Error(s)继承自Message(s)

这个是以前版本的,但是新版Error(s)被deprecated了,唯独validate方法的返回类型为了保持兼容而流了下来。但是新版的使用ActionErrors.add(ActionMessage),而旧版的使用的是ActionErrors.add(ActionError)

所 以我估计你看的例子是1.2的,而运行的版本是1.1的,导致validate验证有错误信息,跳转回<action input>指定的jsp后,遇到<html:errors>,1.1的仍然认为ActionErrors里面的都是 ActionError,而cast,结果造成了

java.lang.ClassCastException: org.apache.struts.action.ActionMessage cannot be cast to org.apache.struts.action.ActionError
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:284665次
    • 积分:3474
    • 等级:
    • 排名:第9587名
    • 原创:39篇
    • 转载:130篇
    • 译文:0篇
    • 评论:88条
    最新评论
    谷歌