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 mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse 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 = (MioActionForm) form;
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

Rispondi quotando