I am not sure if I understand you correctly, but I will try.
What you basically need is to create a form bean without actually invoking the action that claims that it uses it. Did I understand you correctly?
I use "/planning/circuitEditForm" as a mid tier view action to set some Request Attributes with ArrayList. Those ArrayList have data from the DB tier to help build some combo.
If I didn't have any combo dynamic data to build the form I could simple substitute "/planning/circuitEditForm.do" for "/planning/circuitEditForm.jsp".
But my problem is that beownd the data for those combos I need to set in advantage de value for the bean, so with <html:text property="designation" maxlength="50" /> in the JSP I get the value existing in the database, to do some editing of existing data.
That's why I'm trying to do the code that I gived here.
I'm trying to do this, I'll be back.
Anway to create your form bean manually you would do something like this:
ModuleConfig mc = RequestUtils.getRequestModuleConfig (request); ActionMapping am = (ActionMapping) mc.findActionConfig (actionName); return RequestUtils.createActionForm (request, am, mc, getServlet ());
where action name is the action name that uses the form you create, in your case /planning/circuit/edit
HTH, Alex.
-----Original Message----- From: Jos� Fortunato H. Tom�s [mailto:[EMAIL PROTECTED] Sent: Thursday, July 24, 2003 2:14 PM To: Struts Users Mailing List Subject: Re: Pre-Setting DynaValidatorForm attributes
I was reading my post and reallise that I omitted an importante information. The action where I want to set DynaValidatorForm properties is the one
to
forward into the JSP that builds the all form, and not the action associated with the bean.
Just for more complete information: The actio that contains the initial form bean: <action path="/planning/circuit/edit" type="com.esegur.sims.web.CircuitEditAction" scope="request" name="CircuitEditForm" input="/planning/circuitEditForm.do" validate="true"> <forward name="ok"
path="site.planning.circuit.edit.result"/>
<forward name="ko"
path="site.planning.circuit.edit.form"/>
</action>
The action where I want to set some properties: <action path="/planning/circuitEditForm"
type="com.bla.bla.web.formaction.CircuitEditFormJSPAction"
parameter="/planning/circuitEditForm.jsp"/>
Jos� Fortunato H. Tom�s wrote:
Hi!
I have the follow situation: - I get an Circuit Data Object from a manager Then I want to edit the Circuit in HTML form, using an DynaValidatorForm I don't know to how to do correct set for the propertyes priorly!
How should I set the properties priorly?
I'm tring to do the usual set(key, object), but I get an NullPointerException on getter: ---- java.lang.NullPointerException at
org.apache.struts.action.DynaActionForm.getDynaProperty(DynaActionForm.j av
a:596)
at org.apache.struts.action.DynaActionForm.get(DynaActionForm.java:241) at
com.esegur.sims.util.struts.form.BasicDynaValidatorForm.getInteger(Basic Dy
naValidatorForm.java:32)
at
org.apache.jsp.circuitEditForm_jsp._jspService(circuitEditForm_jsp.java: 14
5)
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.ja va
:210)
... ---- BasicDynaValidatorForm is just an helper for getString, getInteger
and
so on.
The code I'm using for setting is: --- if (actionForm instanceof BasicDynaValidatorForm ) { BasicDynaValidatorForm circuitEditForm = (BasicDynaValidatorForm)actionForm;
circuitEditForm.initialize(actionMapping);
CircuitDO cDO = Planning.getCircuitSessionAttr(httpServletRequest); circuitEditForm.set( "circuitId", cDO.getCircuitId() ); /*...*/ circuitEditForm.set( "designation", cDO.getDesignation()
);
} ---
Thanks
-- Jos� Tom�s LINK Consulting SA - http://www.link.pt Av. Duque de Avila 23 5� Dto. - 1000-138 Lisboa Telf: (+351) 213 100 095 Fax: (+351) 213 100 079
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Jos� Tom�s LINK Consulting SA - http://www.link.pt Av. Duque de Avila 23 5� Dto. - 1000-138 Lisboa Telf: (+351) 213 100 095 Fax: (+351) 213 100 079
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

