Hi,
Why are u naming ur form bean as LoginForm.do?? instead of LoginForm.
Keep both values of name attr in form bean and action tag same
    <form-beans>
    <form-bean name="LoginForm.do" type="myproject1.com.LoginForm"/>
    
    </form-beans>
 
 
Thanks
Pradyumna
 
-----Original Message-----
From: rajan pahuja [mailto:[EMAIL PROTECTED] 
Sent: Monday, May 08, 2006 9:34 AM
To: user@struts.apache.org
Subject: ERROR 500: javax.servlet.ServletException: Cannot retrieve
definition for form bean

    Hi
    I need your help.I have been getting this error for past 3 days and
i have not been able to trace the reason.
  
  i m gettin ERROR 500:
    javax.servlet.ServletException: Cannot retrieve definition for form
bean LoginForm on action /doLogin
 
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageCont
extImpl.java:825)
 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContex
tImpl.java:758)
    org.apache.jsp.pages.login_jsp._jspService(login_jsp.java:96)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
va: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)
 
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.jav
a:1063)
 
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(
RequestProcessor.java:1001)
 
org.apache.struts.action.RequestProcessor.processForward(RequestProcesso
r.java:560)
 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
209)
 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    
    root cause
    
    javax.servlet.jsp.JspException: Cannot retrieve definition for form
bean LoginForm on action /doLogin
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:761)
      org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443)
 
org.apache.jsp.pages.login_jsp._jspx_meth_html_form_0(login_jsp.java:146
)
 
org.apache.jsp.pages.login_jsp._jspx_meth_html_html_0(login_jsp.java:122
)
    org.apache.jsp.pages.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.ja
va: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)
 
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.jav
a:1063)
 
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(
RequestProcessor.java:1001)
 
org.apache.struts.action.RequestProcessor.processForward(RequestProcesso
r.java:560)
 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
209)
 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
    Struts-Config.xml:
    
    <struts-config>
    
    <data-sources>
    ..........
    </data-sources>
    
    <form-beans>
    <form-bean name="LoginForm.do" type="myproject1.com.LoginForm"/>
    
    </form-beans>
    <global-forwards>
    <forward name="Welcome" path="/LoginForm.do"/>
    
    
    <action-mappings>
    <action path="/LoginForm" forward="/pages/login.jsp"></action>
    
    
      
    <action path="/doLogin"
    type="myproject1.com.LoginAction"
    name="LoginForm"
    scope= "request"
    validate="false"
    parameter="/pages/login.jsp">
    <forward name="success" path="/Home.do" redirect="true"/>
    <forward name="failure" path="/LoginForm.do" />
    </action>
    
    </action-mappings>
    
    <message-resources parameter="java.MessageResources" />
    
    </struts-config>
    
    
    LoginForm is:
    
    package myproject1.com;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    
    public class LoginForm extends ActionForm
    {
    private String name=null;
    private String password=null;
    
    public   void reset(ActionMapping mapping, HttpServletRequest
request) {
    this.name=null;
    this.password=null;
    
    }
    
    public ActionErrors validate(
    ActionMapping mapping, HttpServletRequest request ) {
    ActionErrors errors = new ActionErrors();
    
    if( getName() == null || getName().length() < 1 ) {
    errors.add("name",new ActionMessage("error.name.required"));
    }
    if( getPassword() == null || getPassword().length() < 1 ) {
    errors.add("password",new ActionMessage("error.password.required"));
    }
    return errors;
    }
    
    public String getName() {
    return name;
    }
    
    public String getPassword() {
    return password;
    }
    
    public void setName(String name) {
    this.name = name;
    }
    
    public void setPassword(String password) {
    this.password = password;
    }
    
    LoginAction Class is:
    
    
    package   myproject1.com;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.sql.DataSource;
    
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    
    import com.stocks.user.bean.UserBean;
    import com.stocks.user.sql.AuthenticateUser;
    import com.stocks.user.sql.GetUserInfo;
    
    public class LoginAction extends Action {
        public ActionForward execute(ActionMapping mapping, ActionForm
form,
                HttpServletRequest request, HttpServletResponse
response)
                throws Exception {
    
            LoginForm myform = (LoginForm) form;
      
            String username = myform.getName();
            String password = myform.getPassword();
    
            DataSource dataSource = getDataSource(request);
    
            if ((new AuthenticateUser()).execute( username, password,
dataSource)) {
                HttpSession session = request.getSession(true);
                // get userId from database for username
                UserBean user = (new GetUserInfo()).execute(username,
dataSource);
                session.setAttribute("user", user);
                return (mapping.findForward("success"));
            } else
                  return (mapping.findForward("failure"));
        }
    }
                                
---------------------------------
 Yahoo! India Answers: Share what you know. Learn something new. Click
here


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to