struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Hill" <andrew.david.h...@gridnode.com>
Subject RE: Action Form Bean required ???
Date Fri, 06 Jun 2003 08:32:52 GMT
Afaik the struts html:form requires you to use an ActionForm.
If your not using an action form you have little business using the struts
<html: tags most of which are designed for working with your ActionForm...

Trust me - your better off using a form even if it hasnt any properties!
While its possible to work without one, its not really a good idea as so
many things expect one - especially the tags! (Im not using JSP which is
probably why Ive had an easier time on my actionForm-free views)


-----Original Message-----
From: Tran Nguyen Thanh Bao [mailto:tran@Cybersoft-VN.com]
Sent: Friday, 6 June 2003 16:22
To: Struts Users Mailing List
Subject: RE: Action Form Bean required ???



My struts-config.xml:
	<action
            path="/Welcome"
            type="org.apache.struts.actions.ForwardAction"
            parameter="/pages/Welcome.jsp"/>
	<action
		path="/logon"
		type="org.apache.struts.actions.ForwardAction"
		parameter="/pages/index.jsp"/>
At first time call to /Welcome.do (Welcome.jsp contains a form), I get the
error as follow:

HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
org.apache.jasper.JasperException: Cannot retrieve definition for form bean
null
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
48)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:684)
	at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:432)
	at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:356)
	at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
58)
	at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces
sor.java:451)
	at
org.apache.struts.action.RequestProcessor.processActionForward(RequestProces
sor.java:401)
	at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:502)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:386)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:530)
	at java.lang.Thread.run(Thread.java:484)

root cause

javax.servlet.ServletException: Cannot retrieve definition for form bean
null
	at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:530)
	at org.apache.jsp.Welcome_jsp._jspService(Welcome_jsp.java:82)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:2
04)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:684)
	at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:432)
	at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:356)
	at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
58)
	at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces
sor.java:451)
	at
org.apache.struts.action.RequestProcessor.processActionForward(RequestProces
sor.java:401)
	at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:502)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:386)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:530)
	at java.lang.Thread.run(Thread.java:484)
Apache Tomcat/4.1.18



-----Original Message-----
From: Dan Tran [mailto:danttran@hotmail.com]
Sent: Friday, June 06, 2003 4:03 AM
To: Struts Users Mailing List
Subject: Re: Action Form Bean required ???


Ba?o, what kind of problem do you see? Here is example of  action without
actionForm

  <action path="/nextYearReport" scope="request"
type="org.glvnsjc.action.student.NextYearReportAction"><forward
name="success" path="/nextYearReport.jsp?page=1" redirect="false"
/></action>

Note, there is no "name" attribute and make sure to setup the scope (the
default is session, i think)

My acction has no form, it create a List object and stick it into request
object so that JSP can display

----- Original Message -----
From: "Tran Nguyen Thanh Bao" <tran@Cybersoft-VN.com>
To: "Struts Users Mailing List" <struts-user@jakarta.apache.org>
Sent: Thursday, June 05, 2003 1:40 AM
Subject: RE: Action Form Bean required ???



Dear Andrew,
Could u please send me your struts-config.xml file that you configure for
some of your screens not to use form bean ??? I tried many times but not
successful :(
Thanks and Best Regards,
TRANBAONGUYEN

-----Original Message-----
From: Andrew Hill [mailto:andrew.david.hill@gridnode.com]
Sent: Wednesday, June 04, 2003 6:42 PM
To: Struts Users Mailing List
Subject: RE: Action Form Bean required ???


I am doing this for some of my screens - these being the listview screens -
where Im not taking in much in the way of info from the user, and hadnt
bothered to create an actionForm but just grabbed what I needed straight
from the request. Your probably better off having an action form however -
in most cases David's criticism is valid.

One 'gotcha' with not using an actionform is when you are using multipart
forms. Struts is nice enough to wrap multipart requests in a
MultipartRequestWrapper with the POSTed parameters available *but* it
populates this wrapper from the same method that populates the actionForm.
No action form means no MultipartRequestWrapper population, which means
request.getParameter will return null for all except those parameters
appended to the url to which the form was submitted. Of course that only
affects multipart forms which yourd only be using if that page needs file
upload...

-----Original Message-----
From: David Chelimsky [mailto:david@chelimsky.org]
Sent: Wednesday, 4 June 2003 19:20
To: Struts Users Mailing List
Subject: Re: Action Form Bean required ???


You could access all of the form properties in your Action with
request.getParameter("paramName"); but why would you ever do that? Using
the rest of the framework without FormBeans is like pushing your car
down the street instead of just starting the engine....

Tran Nguyen Thanh Bao wrote:

>Dear all,
>
>I'm a new user of Struts. If I dont have Action Form Bean for each form in
my application, is there any problem ? I've already tried to test with no
Action Form Bean (basing on Struts examples, just remove Action Form Bean),
but not successful.
>Can I do that in some way ? Pls give me some advises from you, experienced
users :)
>
>Best Regards,
>TRANBAONGUYEN
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>
>
>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Mime
View raw message