|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
[STRUTS] Gestione di una tabella
Ciao a tutti, il mio problema è:
ho una tabella stampata in una jsp che prende un'oggetto "users" dalla request e stampa una riga per ogni utente. Il tutto è realizzato con Struts, perciò ho una action che genera il suddetto oggetto. In questa tabella ora vorrei aggiungere le operazioni "modifica" ed "elimina" in modo che venga fuori una cosa del tipo: NOME | COGNOME | OPERAZIONI | Pinco Pallino Modifica | Elimina Paolino Paperino Modifica | Elimina Dove i vari "Modifica" ed "Elimina" sono dei link o dei pulsanti..insomma la maniera più classica per realizzare un CRUD di base.. Il fatto è che con Struts non l'ho mai fatto quindi mi serviva il parere di una persona più esperta di me per sapere qual'è il modo migliore per affrontare il problema. Ho visto che esistono le LookupDispatchAction che sembrerebbero fare al caso mio, però come faccio a passare alla action (ad esempio quella responsabile della cancellazione) l'id dell'oggetto da cancellare? |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2004
Messaggi: 252
|
Sono un pelo arrugginito..si la LookupDispatchAction fa al caso tuo e tra l'altro e' piu' comoda poi x gestire il codice, almeno IHMO.
beh se usi i link (caso in cui basta la DispatchAction), il parametro id basta che lo appendi normalmente all url di invocazione della action e dal metodo della action lo recuperi con il classico httpServletRequest.getParameter("nome_parametro_id"). nel tuo caso dovrebbe essere na cosa action.do?mode=edit&id=234 dove mode e' il parametro settato nello struts-config.xml per recuperare l'esatto metodo dlla DispatchAction da invocare. |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...le soluzioni sono due...
...potresti aggiungere dei bean nel form e alimentarli dopo il submit tramite javascript : Codice:
function erase(form) {
form.operazione.value = 'erase';
if(window.confirm("confermare?"))
form.submit();
else
return false;
}
...alimenti un arrayList con i dati che ti serviranno per la tabella...poi tramite taglib crei la tabella aggiungendo i link alle operazioni che quetsa dovrà esporre... Codice:
<logic:iterate id="array" name="array" > <tr> <td> <bean:write name="array" property="descrizione"/> </td> <td> <bean:write name="array" property="descrizione"/> </td> <td> <a href="/action.do?req=erase&domain=<bean:write name="array" property="id"/>"> <bean:message key="label.table.info"/> <bean:write name="array" property="descrizione"/> </a> </td> <td> <a href="/action.do?req=modify&id=<bean:write name="array" property="id"/>"> <bean:message key="label.table.modify"/> <bean:write name="array" property="sescrizione"/> </a> </td> </tr> </logic:iterate> ...tali attributi li recupererai nella action tramite il codice sottostante...nel caso id e req siano valorizzati (correttamente) ti comporterai di conseguenza... Codice:
String var = request.getParameter("req");
if (var==null)
var="";
String id = request.getParameter("id");
if (id==null)
id="";
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
Ok allora proverò con LookupDispatchAction o DispatchAction e vi farò sapere..
Grazie a tutti |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:28.



















