06-09
19

关于封装错误信息对象的问题(Struts版本问题)

ActionMessages errors = new ActionMessages();
errors.add("A", new ActionMessage("any.user",));
saveErrors(request, errors);
return (new ActionForward(mapping.getInput()));
}

这段代码在Struts1.2版本中有效。在Struts1.1中用下列代码实现同样功能:

ActionErrors errors=new ActionErrors();
errors.add("A",new ActionError("any.user"));
saveErrors(request,errors);
return mapping.findForward("logon_error");

注意二者区别,引用孙卫琴答疑的话

答复:这是读者经常来信问的问题。出现这一编译错误的原因是由于你使用了与本书提供的源代码不一致的Struts版本。如果你直接使用本书提供的Struts版本,就会编译运行通过。本书附录E(编译本书的Java Web样例)介绍了用ANT工具来编译本书范例的步骤。

Struts软件在不断的升级,早期发行的Struts1.1中的Action类的saveErrors(request,errors)方法的errors参数为ActionErrors类型,后来改为ActionMessages类型。如今,Struts1.2已经出台,最近我把本书的范例全部用Struts1.2的类库编译了一边,都可以顺利编译。

如果你把本书的范例用JBuild工具来编译,必须注意Struts的版本问题。在最新的JBuild版本中自带了Struts类库,但是它的版本比本书选用的Struts版本要老,因此会导致以上编译错误。避免这一问题的方法是在JBuild的[Project]->[Project Properties]->[Required Libraries]中重新设置新版本的Struts类库,以附带JBuild自带的Struts类库。


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Struts版本 封装 错误信息 ActionErrors
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.