ActionErrors errors = new ActionErrors();
errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.buildsite.session_null"));
saveErrors(request, errors);
return mapping.findForward("buildsite");error.buildsite.session_null在WEB-INF\classes\你的站点跟目录下\ApplicationResources.properties文件里
这个文件在web.xml文件里设置:
<init-param>
      <param-name>application</param-name>
      <param-value>com.ApplicationResources</param-value>
    </init-param>
还要保证你的return mapping.findForward("buildsite");
里面的buildsite这个在映射里有相关设置,返回的是一个jsp页面,而且这个页面上要有<html:errors/>

解决方案 »

  1.   

    关于Struts出错处理,有两个类ActionError和ActionErrors,ActionError用于读取资源文件ApplicationResources.properties或其它中对应的出错消息,ActionErrors用于收集ActionError出错消息实例。例如:
     ActionError error = new ActionError("error.database.missing");
    error对应于资源文件error.database.missing条目的消息,ApplicationResources.properties文件内要有:
    error.database.missing=<li>User database is missing, cannot validate logon credentials</li>
    完整的例子如下:       if(1==1)
           {  
                 ActionError error = new ActionError("error.database.missing");
                 ActionErrors errors=new ActionErrors();
                 errors.add("ActionErrors_GLOBAL_ERROR",error);
                 saveErrors(request, errors);
                 return new ActionForward(mapping.getInput());
            }在输入文件中要显示出错消息处加入标签:
    <html:errors/>输出的消息是:
    Validation Error
    You must correct the following error(s) before proceeding:
    User database is missing, cannot validate logon credentials --------------------------------------------------------------------------------以上代码在JSPStudio中运行通过。
      

  2.   

    依照你的写法应该是<html:errors property="abc"/>
      

  3.   

    第一个字符是个标识而已。用于显示不同的error。
      

  4.   

    感谢兄弟们,我的问题解决了,我的问题是因为资源文件配置不正确。
    另外,我刚才查了一下Struts的文档,Struts1.1已经不推荐在<init-param>部分指定资源文件了,新的做法是在Struts-config.xml的message-resource部分配置。谢谢大家!