好的!!
/////////////////////////////////////////////////////////
my.jsp
/////////////////////////////////////////////////////////
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><html:html locale="true">
  <head>
    <title><bean:message key="my.jsp.title"/></title>
    <html:base/>
  </head>
  <body bgcolor="white"><p>   <h2><bean:message key="my.jsp.page.heading"/></h2><p>
   <html:errors/><p>
   <html:form action="/myPersonAction.do">
   <bean:message key="my.jsp.prompt.person"/><br>
   <bean:message key="my.jsp.name"/><html:text property="userName" size="16" maxlength="16"/><br>
   <bean:message key="my.jsp.password"/><html:password property="passWord" size="16" maxlength="16"/><br>
   <html:submit property="submit" value="submit"/>
   <html:reset/>
   </html:form><br>  </body>
</html:html>/////////////////////////////////////////////////////////////////////
PersonForm.java
/////////////////////////////////////////////////////////////////////
package mystr;import javax.servlet.http.HttpServletRequest ;
import org.apache.struts.action.ActionForm ;
import org.apache.struts.action.ActionErrors ;
import org.apache.struts.action.ActionMessage ;
import org.apache.struts.action.ActionMapping ;
public final class PersonForm extends ActionForm {
private String userName = null ;
private String passWord = null ;

public String getUserName()
{
return this.userName ;
}
public String getPassWord()
{
return this.passWord ;
}

public void setUserName(String userName)
{
this.userName = userName ;
}
public void setPassWord(String passWord)
{
this.passWord = passWord ;
}

public void reset(ActionMapping mapping, HttpServletRequest request)
{
this.userName = null ;
this.passWord = null ;
} public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
{
System.out.println("PersonForm 调用!!!!!!!");
ActionErrors errors = new ActionErrors() ;

if((userName == null) || (userName.length() < 1))
{
errors.add("username",new ActionMessage("str.no.username.error")) ;
System.out.println("str.no.username.error");
}
else if((passWord == null)||(passWord.length() < 1))
{
errors.add("password",new ActionMessage("str.no.password.error")) ;
System.out.println("str.no.password.error");
}
return errors ;
}
}

解决方案 »

  1.   

    Action类就不贴了啊!因为是在表单验证的时候出的错!
    FromBean的validate 方法能够正常执行。但是返回到Jsp页面执行<html:error/>标签的时候出错了!
    这个程序在别人的机器上面能够正常运行!
    是否我的环境有问题呢?
    可是我能够正确运行helloapp的例子!
      

  2.   

    在 return errors ;前加上
    if (!errors.isEmpty()) {
    saveErrors(request, errors);
    }
      

  3.   

    我也碰到这个问题,其他一切正常,就<html:errors/>抱错!!
      

  4.   

    TO:bitou(ouyyc)
    ActionForm 中好像没有saveErrors这个方法吧!这个方法是Action类的方法啊!
    我的程序在别人的机器上能够正常运行(没有改动)!
      

  5.   

    errors.add("username",new ActionMessage("str.no.username.error")) ;
    改成
    errors.add("username",new ActionError("str.no.username.error")) ;这个涉及版本问题
    1。2和1。1有区别
    我估计你的版本是struts1.1兄弟,解决了,给分啊,我是给你发信的那个。
      

  6.   

    to:dongyp511(白袜子) 
    成功了!!!!!!!感激啊!
    谢谢兄弟了啊!
    可是我有点疑问!为什么我在别人的机器上也好用啊!而且别人也是1.1版本的!我们用的一样啊!