把你的struts-config.xml及你的action粘上来看看  这样不太好判断

解决方案 »

  1.   

    是呀是呀,我也有相同的错误.相关配置都查了很多资料,还是没结果.就以登陆为例吧.
    以下是我的一些配置及代码:
    (1)struts-config.xml
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
              "http://struts.apache.org/dtds/struts-config_1_2.dtd">
    <struts-config>
      <form-beans>
         <form-bean name="loginForm" type="net.vshow.maintain.form.LoginForm"/> 
      </form-beans>
      <action-mappings>
        
        <action name="loginForm" type="net.vshow.maintain.action.LoginAction" validate="true" input="/index.jsp" scope="request" path="/login">
         <forward name="loginFailed" path="/index.jsp" />
         <forward name="loginSuccess" path="/index.jsp" />
        </action>
      </action-mappings>  <message-resources parameter="net.vshow.maintain.resources.application" />  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
        <set-property property="stopOnFirstError" value="true" />
      </plug-in>
    </struts-config>(2)validation.xml
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE form-validation PUBLIC
              "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
              "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"><form-validation>
     <global>
       <constant>
         <constant-name>phone</constant-name>
         <constant-value>^\(?(\d{3})\)?[-| ]?(\d{3})[-| ]?(\d{4})$</constant-value>
       </constant>
     </global>    <formset>
            <form name="loginForm">
     <field property="account" 
    depends="required">
       <msg name="required" 
    key="errors.required"/>
    <arg0 key="user.account"/>
    </field>
     <field property="password" 
    depends="required">
            <arg0 key="user.password"/>
    </field>
            </form>
        </formset>
    </form-validation>(3)LoginForm.java
    public class LoginForm extends ValidatorForm{    private String account=null;
        private String password=null;
    ........
    }(4)LoginAction.java
    public class LoginAction extends Action
    {    public ActionForward execute(ActionMapping actionmapping, ActionForm actionform,
         HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
        {
         LoginForm form = (LoginForm)actionform;
            Maintainer maintainer=DatabaseUtils.getMaintainer(form.getAccount(),form.getPassword());
            if(maintainer != null)
            {
                HttpSession httpsession = httpservletrequest.getSession(false);
                if(httpsession != null)
                    httpsession.removeAttribute("Maintainer");
                else
                    httpsession = httpservletrequest.getSession(true);
                httpsession.setAttribute("Maintainer", maintainer);
                return actionmapping.findForward("loginSuccess");
            }
            return actionmapping.findForward("loginFailed");
        }
    }