Quelques précisions sur html:options collection
Bonjour,
Bon désolé, pour la question qui revient sans arret. Il y a une pletore de sujet qui traite du html:select mais je n'arrive à trouver les reponses à mes questions ...
Dans mon action, je lis dans une table pour récuperer les commerciaux
Code:
1 2 3
| Gestion_BdD dataBase = new Gestion_BdD("root");
List<Commercial> com = dataBase.List_Commercial();
request.setAttribute("commercial", com); |
avec une requete du genre dans dataBase.List_Commercial()
Code:
"select com_id, nom_com, prenom_com from commerciaux"
Mon action form :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public class AdmClientForm extends ActionForm
{
private String com_id;
private String nom_com;
public AdmClientForm() {
this.com_id = null;
this.nom_com = null;
}
public String getcom_id() {
return this.com_id;
}
public void setcom_id(String com_id) {
this.com_id = com_id;
}
public String getnom_com() {
return this.nom_com;
}
public void setnom_com(String nom_com) {
this.nom_com = nom_com;
}
} |
- Est ce que les propriétés com_id et nom_com doivent correspondre aux champs de la table commerciaux ?
- Si ce n'est pas le cas :
Comment fais t-on pour mapper les champs de la table avec le label et la valeur du combobox ?
Je me pose cette question car je ne respecte la nomanclature SUN pour le nom des méthodes qui doivent contenir des majuscules pour chaque mots.
Ma JSP :
Code:
1 2 3
| <html:select property="">
<html:options collection="commercial" property="com_id" labelProperty="nom_com"/>
</html:select> |
Est ce que c'est l'équivalent en html de ?
Code:
1 2 3
| <select name="commercialId">
<option value="commercialId">commercialName</option>
</select> |
Quelques question que je me pose à propos des différents parametres :
- collection="commercial" correspond à la collection que l'on envoie à partir de l'Action grace :
request.setAttribute("commercial", com);
- property="commercialId" correspond à une propriété et getter/setter de l'action form rattaché à la page JSP du formulaire
- labelProperty="commercialName" correspond à une propriété et getter/setter de l'action form rattaché à la page JSP du formulaire
- select property="commercialId" ? Si c'est comme en HTML pure, cela correspondrait à une propriété et getter/setter mais pas de l'action form rattaché à la page du formulaire courant.
Il serait rattaché à la page JSP suivante lorsque l'on submit.
Ce parametre étant utilisant lorsque l'on submit, il n'est pas utilisé lors du chargement de la liste. Je pourrais le définir lorsque je m'occuperais de la page suivante.
Pour le moment ai je bon ?
Lorsque j'execute, j'ai le droit à l'erreur :
Citation:
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: No getter method available for property com_id for bean under name commercial
Je ne comprends pas. J'ai bien une methode getteur com_id : getcom_id() pourtant.