|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
[Jakarta Struts] Help con particolari form e radio button
salve a tutti, devo sviluppare un'applicazione web, utilizzando il framework Struts. Sto anche usando Struts-Layout che mi aiuta con la parte view, ma ho un problema: vorrei riempire i campi di un form in maniera particolare, con i radio button, ma nn ci riesco. Ho postato un'immagine per far capire meglio il problema. In pratica, nel "Caso 1" c'è il classico form visibile in una pagina web, in cui l'utente riempe i campi a mano, e poi nel momento in cui clicca sul tasto "Submit", il form attiva la action a cui è attaccato, riempendo l'ActionForm a cui è attaccata la Action richiamata. Nel secondo caso, ho un elenco di campi gia compilati, e con un radio button scelgo quello che mi interessa. Cliccando poi sul tasto submit, viene invocata la action che ovviamente ha un ActionForm attaccato, uguale a quello nel caso 1, e quindi deve avere anche in questo caso i campi riempiti con Nome, Cognome, Indirizzo e Telefono. Il problema è: come si fa il secondo caso? Evidentemente il problema sta nell'utilizzo del radio button, che non so utilizzare a dovere.
Questo esempio è una semplificazione del mio problema, in realta è un po' piu complicato, ma se riuscissi a fare questo, probabilmente risolverei il mio problema. L'immagine è la seguente:
|
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...esempio di utilizzo di un radio button...il form è chiaramente il ReportMultimediaForm...i bean message servono per l'intrenazionalizzazione...non farci caso...
Codice:
<tr> <td width="200"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <bean:message key="label.form.searchcondition" /> </font> </td> <td><html:select name="ReportMultimediaForm" property="idCondition" style="width: 300px;"> <html:option value=""> <bean:message key="label.combo.default.condition" /> </html:option> <html:option value="1"> <bean:message key="label.combo.default.morevideo" /> </html:option> <html:option value="2"> <bean:message key="label.combo.default.lessvideo" /> </html:option> <html:option value="3"> <bean:message key="label.combo.default.moreaudio" /> </html:option> <html:option value="4"> <bean:message key="label.combo.default.lessaudio" /> </html:option> <html:option value="7"> <bean:message key="label.combo.default.moregame" /> </html:option> <html:option value="8"> <bean:message key="label.combo.default.lessgame" /> </html:option> <html:option value="5"> <bean:message key="label.combo.default.notpresent" /> </html:option> <html:option value="6"> <bean:message key="label.combo.default.beaver" /> </html:option> </html:select></td> </tr> Codice:
/**
* @return Returns the conditionId.
*/
public String getIdCondition() {
return idCondition;
}
/**
* @param conditionId The conditionId to set.
*/
public void setIdCondition(String idCondition) {
this.idCondition = idCondition;
}
...ciao... |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
scusami, ma con questo sistema nell'actionForm setti solo l'attributo idCondition... A me interessa invece che tramite la scelta del radio button, viene riempito l'actionForm in tutti i suoi campi, come ad esempio, nel caso che ho citato, tramite il radio button il devo riempire nell'ActionForm i campi Nome, Cognome, Telefono e Indirizzo...
Mi spiego meglio: nel caso1, io riempo a mano i campi del form, e poi quando catturo l'actionForm nella Action, ho a disposizione i quattro attributi del form. Voglio che succeda la stessa cosa anche nel caso2, mentre con la tua soluzione, io ho un actionForm con un solo attributo... cmq grazie per la risposta!!! è un sollievo trovare qualcuno che sappia di cosa sto parlando, sono alla prima esperienza nel campo dello sviluppo di web application, e mi sento un po' spaesato... Ultima modifica di The_Dave : 08-08-2008 alle 10:09. |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...mh...ok...quindi il form (lato pagina) è già alimentato...a seconda del radio button scelto l'action form si alimenta di conseguenza giusto?...
...ciao... |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
esatto!! infatti io avevo gia utilizzato il radio button in quel modo, la difficolta è proprio nel riempire tutti i campi del form...
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...le strade sono due...o crei un form con tanti array quanti sono le variabili di una singola colonna e in base al radio button selezionato prendi l'elemento di ogni array specifico...oppure intervieni alimentando l'action form tramite javascript dopo il submit...
...ciao... |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
Quote:
Cioè, in fondo la differenza è che nel primo caso, i campi sono vuoti e devono essere riempiti, nel secondo caso, i campi sono gia impostati, e devo scegliere solo quale mi interessa... un po' come un menu a tendina, ma multiplo P.S. cmq se volessi farlo con javascript, come si fa??? |
|
|
|
|
|
|
#8 | |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
Quote:
...ciao... |
|
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
Codice:
//opzioni è un arrayList di un oggettone avente caratteristche pari al formBean alimentato con tanti oggetti quante sono le opzioni <logic:present name="opzioni"> <logic:iterate id="opzioni" name="opzioni"> <td><bean:write name="opzioni" property="nome"/></td> <td><bean:write name="opzioni" property="cognome"/></td> <td><bean:write name="opzioni" property="indirizzo"/></td> <td><bean:write name="opzioni" property="telefono"/></td> <html:select name="IlTuoForm" property="condizione"> <html:option value="<bean:write name="opzioni" property="numeroCondizione"/>"></html:option> </logic:iterate> </logic:present> ...ciao... |
|
|
|
|
|
#10 | |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
Quote:
|
|
|
|
|
|
|
#11 | |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
Quote:
Codice:
request.getSession().getAttribute("opzioni");
...ciao... |
|
|
|
|
|
|
#12 |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
ma cosi nn è risolto veramente il problema... mi resta cmq un form riempito solo di un campo, nel tuo caso "numeroCondizione", che poi mi permette di trovare l'opzione, cercandola nella lista "opzioni" che si trova in sessione...
|
|
|
|
|
|
#13 | |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
Quote:
Codice:
<html:text property="nome" value="<bean:write name="opzioni" property="nome"/>" ></html:text> |
|
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
Quote:
a parte che il codice value="<bean:write name="opzioni" property="nome"/>" nn funziona (è cmq risolvibile con value="${opzioni.nome}"), ma il fatto è che non mi riempie il form con i valori selezionati, dato che viene riempito con i valori del primo oggetto visto dall'iteratore. Ultima modifica di The_Dave : 08-08-2008 alle 12:41. |
|
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
...purtroppo non ho modo di controllare il codice...
...ma questo non crea una serie di righe con valori pari ai diversi oggetti caricati nell'arrayList?... Codice:
//opzioni è un arrayList di un oggettone avente caratteristche pari al formBean alimentato con tanti oggetti quante sono le opzioni <logic:present name="opzioni"> <logic:iterate id="opzioni" name="opzioni"> <td><bean:write name="opzioni" property="nome"/></td> <td><bean:write name="opzioni" property="cognome"/></td> <td><bean:write name="opzioni" property="indirizzo"/></td> <td><bean:write name="opzioni" property="telefono"/></td> <html:select name="IlTuoForm" property="condizione"> <html:option value="<bean:write name="opzioni" property="numeroCondizione"/>"></html:option> </logic:iterate> </logic:present> |
|
|
|
|
|
#16 | |
|
Bannato
Iscritto dal: Mar 2006
Città: Napoli
Messaggi: 2747
|
Quote:
senti cmq grazie veramente per l'aiuto!!! mi stai dando molto piu ascolto tu su un forum, che il mio tutor qui in azienda!! |
|
|
|
|
|
|
#17 | |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
|
Quote:
...ciao... |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:27.




















