ErrorsTag.
if (report.isResource()) {
          message 
=
            TagUtils.getInstance().message(
                pageContext,
                bundle,
                locale,
                report.getKey(),
                report.getValues());
        }
 else {
          message 
= report.getKey();
        }


说明,是可以不使用资源文件的。
再看,ActionMessage构造方法,
new ActionMessage( String value, boolean isResource );
只要这样构造就不用资源文件,
ActionMessage msg = new ActionMessage("随便写",false);
之后把
ActionMessages errors = ..
errors.add( "mykey",msg)
...
最后页面上使用
<html:errors property="mykey"/>
这样就输出了
"随便写"。
所以,结论是,可是不用资源文件使用ActionMessage,以及<html:errors>