Per ottenere più caselle di controllo
Domanda
Sto usando Struts 2, JSP e JPA nel mio progetto. Ho quasi 50 caselle di controllo in una singola pagina. Se voglio ottenere il valore di ogni casella di controllo in Action class, allora ho scritto 50 getter e setter. Esiste un modo semplice per ottenere i valori di tutte le caselle di controllo nella classe Action.
Grazie
Soluzione
Se tutte le caselle di controllo hanno lo stesso nome, puoi avere un getter / setter per una stringa [].
Quindi, hai questo nel jsp:
<s:checkbox name="cb" fieldValue="whatever"/>
<s:checkbox name="cb" fieldValue="whatever2"/>
<s:checkbox name="cb" fieldValue="whatever3"/>
Nella tua azione, avresti quanto segue:
private String[] cb;
public String[] getCb() {
return cb;
}
public void setCb(String[] cb) {
this.cb = cb;
}
Domanda SO simile: Come posso ottenere i valori della casella di controllo dalla casella di controllo struts2 in displaytag alla classe di azioni
Altri suggerimenti
Che dire di checkboxlist ? Ma dovrai cambiare il modello ftl (se usi il freemarker) per rendere le caselle di controllo verticali o in altro modo. Ce l'ho, se ne hai bisogno.