将里面的
errors.add("userid", new ActionMessage("userlogin.no.userid.error"));
改成:
errors.add("userid",new ActionError("userlogin.no.userid.error"));试试看,我是这样写的

解决方案 »

  1.   

    ActionErrors errors = new ActionErrors();
    声明的errors是ActionErrors,
    当然是用
    errors.add("userid",new ActionError("userlogin.no.userid.error"));
      

  2.   

    errors.add("userid",new ActionError("userlogin.no.userid.error"));
      

  3.   

    楼主:
    我这里一切正常,没有异常出现UserloginForm.java
    ------------------------------------
    package login;import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    public final class UserloginForm extends ActionForm { private String userId = null;
    private String userPassword = null; public String getUserId() { return (this.userId); }
        public void setUserId(String userid) { this.userId = userid; } public String getUserPassword() { return (this.userPassword); }
    public void setUserPassword(String userPassword){ this.userPassword = userPassword; }
    public void reset(ActionMapping mapping, HttpServletRequest request){
    this.userId = null;
    this.userPassword = null;
    }
    //.................
    public ActionErrors validate(ActionMapping mapping,
                HttpServletRequest request) {
            ActionErrors errors = new ActionErrors();        if ((userId == null) || (userId.length() < 6)) {//用户名为空或者小于6就返回错误信息
                errors.add("userid", new ActionMessage(
                                "userlogin.no.userid.error"));
            }
            if ((userPassword == null) || (userPassword.length() < 6)) {//密码为空或者小于6就返回错误信息
                errors.add("userpassword",new ActionMessage("userlogin.no.userpassword.error"));
            }        return errors;//errors为空表示没有错误,继续下面的流程    }//...................
    }------------------------------------UserloginAction.java
    ------------------------------------
    package login;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;public final class UserloginAction extends Action {
    public ActionForward execute(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws Exception { return(mapping.findForward("Success"));
    }
    }
    ------------------------------------
    web.xml
    ------------------------------------
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 
     "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"><web-app>
    <display-name>CSdn Login Application</display-name> <!-- Standard Action Servlet Configuration -->
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet> <!-- Standard Action Servlet Mapping -->
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping> <!-- The Usual Welcome File List -->
    <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
    </welcome-file-list> <!-- Struts Tag Library Descriptors -->
    <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
    </taglib> <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
    </taglib></web-app>
    ------------------------------------struts-config.xml
    ------------------------------------
    <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
       "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config> <!-- ============ Form Bean Definitions ================================= -->
    <form-beans>
    <form-bean name="LoginForm" type="login.UserloginForm"/>

    </form-beans> <!-- ============ Action Mapping Definitions ============================ -->
    <action-mappings>
    <!-- Say Hello! -->
    <action path = "/userlogin"
    type = "login.UserloginAction"
    name = "LoginForm"
    scope = "request"
    validate= "true"
    input = "/login.jsp"
    >
    <forward name="Success" path="/success.jsp"/>
    </action>
    </action-mappings> <!-- ============ Message Resources Definitions ========================= -->
    <message-resources parameter="login.ApplicationResources"/></struts-config>
    ------------------------------------success.jsp
    ------------------------------------
    Success!!!!!!!
    ------------------------------------其他的和楼主的相同