/// Formbean
package com;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionFormBean;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; class LoginActiondoForm extends ActionForm
{
 String userName;
 String passWord;

public void setName(String userName,String passWord)
{
this.userName = userName;
this.passWord = passWord;
}  public String getPassword()
{
return passWord;
}
public String getName()
{
return userName;
}
}
////action
package com;
import org.apache.struts.action.*;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;public class LoginActiondo extends Action
{

   public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)
   {
    String userName = ((LoginActiondoForm)form).getName();
    String passWord = ((LoginActiondoForm)form).getPassword();
   if(userName.equals("admin") || passWord.equals("1234"))
    {
      return mapping.findForward("succes");
      
    }
    else
    {
    return mapping.findForward("Erro");
    }
   }
}
/// Stuct-config
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://struts.apache.org/dtds/struts-config_1_1.dtd">
<struts-config>
  <form-beans>
      <form-bean name="loginform" type="com.LoginActiondoForm"/>
      <form-bean name="createBook" type ="com.bookForm" />
  </form-beans>
    <action-mappings>
      <action path="/login" name="loginform" input="/login.jsp" type="com.LoginActiondo">
        <forward name="success" path="/welcome.jsp"/>
       <forward name="Erro" path="/Erro.jsp"/>
       </action>
       <action path="/CreateBookAction" name="createBook" scope="request" input="/CreateBook.jsp" type="com.CreateBookAction" >
       <forward name="OK" path="/Erro.jsp" />
       </action>
  </action-mappings>
</struts-config>
/////下面是出现的异常信息!
javax.servlet.ServletException: Exception creating bean of class com.LoginActiondoForm: {1}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.login_jsp._jspService(login_jsp.java:118)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: Exception creating bean of class com.LoginActiondoForm: {1}
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:644)
org.apache.jsp.login_jsp._jspx_meth_html_form_0(login_jsp.java:135)
org.apache.jsp.login_jsp._jspService(login_jsp.java:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

解决方案 »

  1.   

    ActionForm是一个符合JavaBean规范的类,所有的属性都应满足get和set对应。你的userName,passWord 都要有get/set方法
      

  2.   

    public void setName(String userName)
    {
    this.userName = userName;
    //this.passWord = passWord;

        public String getName()
    {
    return userName;
    }

        public void setPassword(String passWord)
        {
         this.passWord = passWord;
        }
    public String getPassword()
    {
    return passWord;
    }
    我改成这样了。还是出现同样的问题
      

  3.   

    楼主能说一下,改正后出现什么错误了吗???
    另外if(userName.equals("admin") || passWord.equals("1234"))
    应该改成if(userName.equals("admin") && passWord.equals("1234"))
    你判断的是两个条件都满足才成功,不能用逻辑或||应该用&&符
      

  4.   

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

        public String getUserName()
    {
    return userName;
    }

        public void setPassWord(String passWord)
        {
         this.passWord = passWord;
        }
    public String getPassWord()
    {
    return passWord;
    }
      

  5.   

    message description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Exception creating bean of class com.LoginActiondoForm: {1}
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.login_jsp._jspService(login_jsp.java:83)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause javax.servlet.jsp.JspException: Exception creating bean of class com.LoginActiondoForm: {1}
    org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:644)
    org.apache.jsp.login_jsp._jspx_meth_html_form_0(login_jsp.java:184)
    org.apache.jsp.login_jsp._jspx_meth_html_html_0(login_jsp.java:123)
    org.apache.jsp.login_jsp._jspService(login_jsp.java:74)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802还是和上面一样的错误
      

  6.   

    public class LoginActiondoForm extends ActionForm
    {
    private String userName;
    private String passWord;
      

  7.   

    不行改了还是出现在这个问题。
    private String userName;
    private String passWord;
      

  8.   

    package com;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionFormBean;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse; class LoginActiondoForm extends ActionForm
    {
    private String userName;
    private String passWord;

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

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

        public void setPassWord(String passWord)
        {
         this.passWord = passWord;
        }
    public String getPassword()
    {
    return this.passWord;
    }}
      

  9.   

    偶不是用escplis 也不是用的是 ant 。偶用tomcat加。jcreat 
    编译以后我是放到那个目录里的。
      

  10.   

    class LoginActiondoForm extends ActionForm 前加public
      

  11.   

    你的LoginActionForm类的访问权限是包访问权限,设置成public试一下吧.
      

  12.   

    class LoginActiondoForm extends ActionForm 前加public
      

  13.   

    用jbuilder吧,formbean自动生成,不费你一点儿神^-^