唉,实在是受不了了。只能开贴了。
        public ActionErrors validate(ActionMapping mapping, ServletRequest request) {
                ActionErrors errors = new ActionErrors();
                if((name==null)||(name.equals(""))){
                        errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("error.name.required"));
                }
                if((psw==null)||(psw.equals(""))){
                        errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("error.psw.required"));
                }
                return errors;
        }
这是重写以后的vaildate,但我在JSP页面里用<html:errors/>却只能显示空白。米有出错的信息。
struts-config.xml里面的validate已经是true了。而属性文件里面也有相应的error.name.required

解决方案 »

  1.   

    我也是刚学,但我是这样做的。。现在好象都不用ActionErrors了,都用ActionMessagesActionMessages errors = new ActionMessages();

    errors.add("errorMsg",new ActionMessage("form.errors.invalidationUser"));

    saveErrors(request,errors);
    然后在你的页面
    <html:errors property="errorMsg"/>
    property和你errors.add("errorMsg",要一样就可以了。
    呵呵,看还有什么别的方法不。
      

  2.   

    ActionMessages errors = new ActionMessages();
    errors.add("errorMsg",new ActionMessage("form.errors.invalidationUser"));
     页面用<html:messages>显示
      

  3.   

    我用的是静态的ActionForm。所以是通过重写valide()方法实现表单数据的验证。但在重写validate时只能:public ActionErrors validate
    它要求的返回类型是ActionErrors。
      

  4.   

    那检查哈 <message-resources parameter="```" />
    看是否对应你的ApplicationResources.properties文件 这里出错了也会没显示的
      

  5.   

    <html:errors/>好像是和GLOBAL_ERROR对应吧,你试一下:
    errors.add(ActionErrors.GLOBAL_ERROR, new ActionMessage("error.psw.required"));
      

  6.   

    不是资源文件配的不对,就在JSP中把它打出来
      

  7.   

    FROM中可以把这个加上:
                       //error message
    StringBuffer stbCheckError = new StringBuffer();
                       stbCheckError.append("1"); if (!stbCheckError.toString().equals("")) {
    this.setStrCheckError(stbCheckError.toString());
    }
    JS中写好之后,在JSP中写上
    <logic:notEmpty name="XXXForm" property="strCheckError"  write="true" >
    <TR>
    <TD colspan="3">
    <TABLE class="MESSAGE">
    <TBODY> <TR>
    <TD class="MESSAGE FONT_RED"><html:errors/>
      

  8.   

    你在Action中产生一段ActionErrors然后调用Action的saveErrors,看能不能显示,如果能,那么不是你的问题
      

  9.   

    首先先说,在Action里能生成出错信息的,但把它写到validate里面时就不行了。这才是郁闷啊!
      

  10.   

    ActionErrors.GLOBAL_ERROR 
    Deprecated. Use ActionMessages.GLOBAL_MESSAGE instead. This will be removed after Struts 1.2.
      

  11.   

    路过..........友情UP......//___________送个笑话____________
    一个年轻力壮的男子来到西药店里,表示要买一种效力强大、保证持久的春药,他向老板解释道:“今天晚上,我要应付两个骚女子,我要表现我的厉害给她们看看。”
      药剂师给了他一些保证有效的药丸,并且建议他最好立刻服用,因为药性要过一段时间才会生效。男子照着做后,回去等他的客人。
      第二天,他狼狈不堪的来到西药店。
      “你看起来好像精疲力尽了。”药剂师微笑的说道。
      “别提了!”男子呻吟道:“给我一点破皮软膏。”
      “擦你的……”
      “擦我的手,她们昨晚都没来!”男子咆哮道。 www.xiaohua007.com
      

  12.   

    PS:昨天有事,今天改成动态form后发现还是不行。后来在启动Tomcat的时候发现:2006-8-24 20:29:28 org.apache.catalina.core.StandardHost start
    信息: XML validation disabled有这条消息。可是我明明已经把validation=true了啊。
      

  13.   

    tcmis(为人者:有大肚者则成大器耶) 的那种写法为什么我在myeclipse中编译器让我
    强制转换为ActionErrorActionMessages errors = new ActionMessages();errors.add("errorMsg",new ActionMessage("form.errors.invalidationUser"));saveErrors(request,(ActionErrors) errors);我用的struts1.1
      

  14.   

    搞了一晚上这个问题总算有结果了,不知道我的问题跟楼主的事不是一样,贴出来参考一下:
    我是将web.xml中的
    <init-param>
       <param-name>application</param-name>
       <param-value>ApplicationResource</param-value>
    </init-param>
    改成:
    <init-param>
       <param-name>application</param-name>
       <param-value>GoodTradeResource</param-value>
    </init-param>
    其中“GoodTradeResource”是我的.properties 文件的前缀
    (如:GoodTradeResource_zh_CN.properties)
      

  15.   

    我用的是Struts1.2,可能会强制转换,我这里的ActionError这个类在Struts1.2都取消掉了