Vediamo come si utilizza il tag STRUTS option:collection e la classe Java LabelValueBean per popolare,visualizzare e utilizzare una combo box.
Dentro il form creiamo una lista e un campo che ci serve per la voce selezionata:
List listaCampi; // contiene la nostra lista di scelte
String campoSelezionato =""; // contiene la scelta selezionata
e ovviamente i metodi get e set:
public List getListaCampi() {
return listaCampi;
}
public void setListaCampi(List listaCampi) {
this.listaCampi = listaCampi;
}
public String getCampoSelezionato () {
return campoSelezionato;
}
public void setCampoSelezionato(String campoSelezionato) {
this. campoSelezionato = campoSelezionato;
}
Dentro la nostra classe (la nostra action) importatiamo la classe LabelValueBean : import org.apache.struts.util.LabelValueBean;
Poi Creiamo un metodo per popolare una lista;il metodo si chiama con :
chiamata al metodo:
List pippo=creaCombo();
Impostiamola dentro il form:
frm = (FRM_MIOFORM) form;
frm.setListaCampi(pippo);
dichiarazione del metodo:
protected List creaCombo() throws Exception {
List elencoCampi = new ArrayList();
elencoCampi.add(new LabelValueBean("Etichetta 1", "01"));
elencoCampi.add(new LabelValueBean("Etichetta 2", "02"));
elencoCampi.add(new LabelValueBean("Etichetta 3", "03"));
return elencoCampi;
}
Questa classe contiene un’ etichetta (es. Etichetta 1 ) e un valore (es. 01 ) che verrà nascosto all’utente.
Poi andiamo nella JSP. Per visualizzare la combo box scriviamo:
<table> <tr> <td>
<html:select name="FRM_MIOFORM" property="CampoSelezionato" onchange="document.FRM_MIOFORM.submit()" size="1"> <html:optionsCollection name="FRM_MIOFORM " property="ListaCampi" /> </html:select>
</td> </tr></table>
In questo modo verrà visualizzata la combo box e il valore scelto verrà messo nel campo CampoSelezionato.
lunedì 18 agosto 2008
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento