You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Alex Tso <AT...@e-matinc.com> on 2001/04/11 20:03:13 UTC

problem getting form bean

I am trying to implement a webapp using weblogic51 model after the struts
example.  One of the page contain a simple form just like the
'registration.jsp' in the example, here is a the piece of jsp where I have
the form:
-------------------------------------------
<html:form  action="/saveEClient">
<html:hidden property="action"/>
<table border="0" width="100%">
  <tr>
    <th align="right">
      <bean:message key="prompt.eclientid"/>
    </th>
    <td align="left">
      <html:text property="eClientId" size="50"/>
    </td>
  </tr>
-----------------------------------------------

Here is the exception I got:
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Processi
ng a GET for /editEClient
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Setting
locale 'en_US'
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Looking
 for ActionForm bean under attribute 'eClientForm'
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Creatin
g new ActionForm instance of class 'com.emat.mchv.EClientForm'
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Storing
 instance under attribute 'eClientForm' in scope 'request'
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Populat
ing bean properties from this request
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Validat
ing input form properties
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Looking
 for Action instance for class com.emat.mchv.EditEClientAction
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Double
 checking for Action instance already there
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Creati
ng new Action instance
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
EditECli
entAction:  Processing Add action
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Setting
 transactional control token
Wed Apr 11 11:06:56 EDT 2001:<I> <WebAppServletContext-approot> action:
Forward
ing to 'success' page
javax.servlet.jsp.JspException: No getter method for property eClientId of
bean
org.apache.struts.taglib.html.BEAN
        at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:234)
        at
org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.ja
va:220)
        at jsp_servlet._mchv._eclient._jspService(_eclient.java:361)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:106)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:124)
        at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
cherImpl.java:154)
        at
org.apache.struts.action.ActionServlet.processActionForward(ActionSer
vlet.java:1697)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:154
0)
        at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:106)
        at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:907)
        at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:851)
        at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:252)
        at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:364)
        at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:252)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
javax.servlet.ServletException: runtime failure in custom tag 'text'
        at jsp_servlet._mchv._eclient._jspService(_eclient.java:383)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:106)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:124)
        at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
cherImpl.java:154)
        at
org.apache.struts.action.ActionServlet.processActionForward(ActionSer
vlet.java:1697)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:154
0)
        at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:106)
        at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:907)
        at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:851)
        at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:252)
        at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:364)
        at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:252)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
Wed Apr 11 11:06:57 EDT 2001:<E> <WebAppServletContext-approot> Root cause
of Se
rvletException
javax.servlet.ServletException: runtime failure in custom tag 'form'
        at jsp_servlet._mchv._eclient._jspService(_eclient.java:587)
        at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:106)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:124)
        at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
cherImpl.java:154)
        at
org.apache.struts.action.ActionServlet.processActionForward(ActionSer
vlet.java:1697)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:154
0)
        at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:106)
        at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:907)
        at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:851)
        at
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:252)
        at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:364)
        at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:252)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)

-----------------------------------------------------------

I don't understand why it keeps looking at this bean:
javax.servlet.jsp.JspException: No getter method for property eClientId of
bean
org.apache.struts.taglib.html.BEAN

instead of my own form bean, I have it map in struts-config.xml

thanks for your help...
-alex




Re: problem getting form bean

Posted by David Winterfeldt <dw...@yahoo.com>.
If your method is getEClientId, then your html:text
should be.
<html:text property="EClientId" size="50"/>

It's in the spec on JavaBean propertys.

David

--- Alex Tso <AT...@e-matinc.com> wrote:
> I am trying to implement a webapp using weblogic51
> model after the struts
> example.  One of the page contain a simple form just
> like the
> 'registration.jsp' in the example, here is a the
> piece of jsp where I have
> the form:
> -------------------------------------------
> <html:form  action="/saveEClient">
> <html:hidden property="action"/>
> <table border="0" width="100%">
>   <tr>
>     <th align="right">
>       <bean:message key="prompt.eclientid"/>
>     </th>
>     <td align="left">
>       <html:text property="eClientId" size="50"/>
>     </td>
>   </tr>
> -----------------------------------------------
> 
> Here is the exception I got:
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Processi
> ng a GET for /editEClient
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Setting
> locale 'en_US'
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Looking
>  for ActionForm bean under attribute 'eClientForm'
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Creatin
> g new ActionForm instance of class
> 'com.emat.mchv.EClientForm'
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Storing
>  instance under attribute 'eClientForm' in scope
> 'request'
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Populat
> ing bean properties from this request
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Validat
> ing input form properties
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Looking
>  for Action instance for class
> com.emat.mchv.EditEClientAction
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Double
>  checking for Action instance already there
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Creati
> ng new Action instance
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> EditECli
> entAction:  Processing Add action
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Setting
>  transactional control token
> Wed Apr 11 11:06:56 EDT 2001:<I>
> <WebAppServletContext-approot> action:
> Forward
> ing to 'success' page
> javax.servlet.jsp.JspException: No getter method for
> property eClientId of
> bean
> org.apache.struts.taglib.html.BEAN
>         at
>
org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:234)
>         at
>
org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.ja
> va:220)
>         at
>
jsp_servlet._mchv._eclient._jspService(_eclient.java:361)
>         at
>
weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:106)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:124)
>         at
>
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
> cherImpl.java:154)
>         at
>
org.apache.struts.action.ActionServlet.processActionForward(ActionSer
> vlet.java:1697)
>         at
>
org.apache.struts.action.ActionServlet.process(ActionServlet.java:154
> 0)
>         at
>
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:106)
>         at
>
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
> textImpl.java:907)
>         at
>
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
> textImpl.java:851)
>         at
>
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
> ContextManager.java:252)
>         at
>
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
> a:364)
>         at
>
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:252)
> 
>         at
>
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
> javax.servlet.ServletException: runtime failure in
> custom tag 'text'
>         at
>
jsp_servlet._mchv._eclient._jspService(_eclient.java:383)
>         at
>
weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:106)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:124)
>         at
>
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
> cherImpl.java:154)
>         at
>
org.apache.struts.action.ActionServlet.processActionForward(ActionSer
> vlet.java:1697)
>         at
>
org.apache.struts.action.ActionServlet.process(ActionServlet.java:154
> 0)
>         at
>
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:491)
>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at
>
javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:106)
>         at
>
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
> textImpl.java:907)
>         at
>
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
> textImpl.java:851)
>         at
>
weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
> ContextManager.java:252)
>         at
>
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
> a:364)
>         at
>
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:252)
> 
>         at
>
weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
> Wed Apr 11 11:06:57 EDT 2001:<E>
> <WebAppServletContext-approot> Root cause
> of Se
> rvletException
> javax.servlet.ServletException: runtime failure in
> custom tag 'form'
>         at
>
jsp_servlet._mchv._eclient._jspService(_eclient.java:587)
>         at
>
weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:106)
>         at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
> pl.java:124)
>         at
>
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
> cherImpl.java:154)
>         at
>
org.apache.struts.action.ActionServlet.processActionForward(ActionSer
> vlet.java:1697)
>         at
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Get email at your own domain with Yahoo! Mail. 
http://personal.mail.yahoo.com/