Ciao, forse la domanda è banale ma ci sto sbattendo la testa.
Magari avete una guida da consigliarmi piuttosto che rispondermi....
Btw...

Ho un programma che deve fare inserimento, modifica e cancellazione di records....
(nulla di piu semplice)

Il problema è che non riesco a capire il giro che devo fare spiego:

struts-config.xml:
Codice PHP:
<form-beans>
<
form-bean name="MioActionForm" type="alberto.actionForms.MioActionForm"/>
</
form-beans>


<
action path="/PrepareAdd" type="alberto.actions.AddUpdAction" name="MioActionForm" roles="all" parameter="add_prepare">            
<
forward name="continue" path="/WEB-INF/jsp/form.jsp" contextRelative="true" /></action>

<
action path="/PrepareUpd" type="alberto.actions.AddUpdAction"  name="MioActionForm" roles="all" parameter="upd_prepare"  scope="request">            
<
forward name="continue" path="/WEB-INF/jsp/form.jsp" contextRelative="true" /></action>

<
action path="/PaginaAdd" type="alberto.actions.AddUpdAction"   name="MioActionForm" roles="all" parameter="add" scope="request" >
<
forward name="continue" path="/WEB-INF/jsp/form.jsp" contextRelative="true" /></action

Poi in AddUpdAction faccio cosi:

Codice PHP:
.....
public 
ActionForward execute(ActionMapping mappingActionForm form,
HttpServletRequest requestHttpServletResponse response)
throws Exception {
        
HttpSession session =  request.getSession();        
ActionForward forward = new ActionForward();

String parametro mapping.getParameter();
forward mapping.findForward("continue");

    
//se insert o modifica popola diversamente i campi 
if(parametro.equalsIgnoreCase("upd_prepare")) {
    
popolaValoriUpd(mapping,form,request);
}
if(
parametro.equalsIgnoreCase("add_prepare")) {
    
popolaValoriAdd(mapping,form,request);
}

// SPIEGAZIONE SOTTO!!
if(parametro.equalsIgnoreCase("add") || parametro.equalsIgnoreCase("upd")) {
            
insertResponse inserisci(mapping,form,request,response,session);
            
if(
insertResponse.equalsIgnoreCase("OK")){
                
             
Mio form = (MioActionFormform;
             
getForm.reset();

    if(
parametro.equalsIgnoreCase("add")) {
        
request.setAttribute("msg",INSERT_OK);
        
popolaValoriAdd(mapping,form,request);
    } 
    if(
parametro.equalsIgnoreCase("upd")) {
        
request.setAttribute("msg",UPDATE_OK);
        
popolaValoriUpd(mapping,form,request);
    }
    
     } else { 

    
request.setAttribute("msg",INSERT_KO " " insertResponse);
    
request.setAttribute("error"1);
                
    if(
parametro.equalsIgnoreCase("upd")) {
        
ripopolaValori(mapping,form,request);
    }
    if(
parametro.equalsIgnoreCase("add")) {
        
ripopolaValori(mapping,form,request);
    }
                
      }
            
}        
        

return 
forward;        


Il problema è mapping.getParameter(); quando submitto il form è sempre (per forza) "add"
perche la pagina che richiamo nel form è sempre PaginaAdd.do!!

Le mie domande sono:

Il giro è giusto o devo fare una nuova regola in in struts-config e metterci tipo un PaginaUpd con il parametro upd?
Se si come facci onel form a cambiargli l'action??
<html:form action="/PaginaAdd.do" onsubmit="return validate();">
Ci ho rpovato in tutti i modi ma mi da sempre errore....




Oppure ??


Grazie per l'aiuto