Remplir un selectOneMenu à partir d'une BD MySql
Bonjour,
j'ai une liste déroulante que je veux remplir via une base de donnée.est ce que quelqu'un a une idée là dessus,merci
je vous montre code
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
public class inserer {
public List getmaliste()
{
ArrayList unelist = new ArrayList();
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String serverName = "localhost";
String mydatabase = "test";
String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
String user = "root";
String pass = "masta";
java.sql.Connection connection = DriverManager.getConnection(url, user, pass);
Statement instruction = ((java.sql.Connection) connection).createStatement();
String sql = " select * from test.structure " ;
ResultSet resultat = (ResultSet) instruction.executeQuery(sql);
while(resultat.next()){
String num=resultat.getString("nom").toString();
unelist.add(num);
}
//session.close();
} catch (Exception e) {
e.printStackTrace();
}
return (List) unelist;
}
}
et la partie de page jsp
<h:selectOneMenu style="width: 155px; " value="#{inserer.}">
<f:selectItems value="#{inserer.}" />
</h:selectOneMenu> |
mais je ne sais pas comment faire
remplir un selectOneMenu à partir d'une BD postgres
Bonjour, je suis nouvelle sur ce forum et j'ai besoin de votre aide pour resoudre un probleme qui va peut vous sembler petit mais qui me tracasse depuis des jours.
voilà j'ai suivi vos postes sur Remplir un selectOneMenu à partir d'une BD MySql et j'ai cherché à l'adopter à mon cas (j'utilise le SGBD postgres) seulement je rencontre un probleme.
je vous envoie mon code:
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| import java.util.ArrayList;
import javax.faces.event.ValueChangeEvent;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.faces.model.SelectItem;
import DBmanager.DataBaseConnection;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public class ExperimentBean {
/**
*
* Creates a new instance of ChangeListenerBean
*/
private String maValeur;
private List<SelectItem> mesElements;
public String getMaValeur() {
return maValeur;
}
public void setMaValeur(String maValeur) {
this.maValeur = maValeur;
}
public List getMaliste() {
ArrayList unelist = new ArrayList();
try {
String sql = " select * from experimentation ";
ResultSet resultat = DataBaseConnection.statement.executeQuery(sql);
while (resultat.next()) {
String num = resultat.getString("experimentid").toString();
unelist.add(num);
}
// session.close();
} catch (Exception e) {
e.printStackTrace();
}
return (List) unelist;
}
public List<SelectItem> getMesElements() {
if (mesElements == null) {
mesElements = new ArrayList<SelectItem>();
mesElements.add(new SelectItem(null, "-- Choisissez --"));
for (String val : getMaliste()) {
mesElements.add(new SelectItem(val));
}
}
return mesElements;
}
} |
et dans la jsp:
Code:
1 2 3
| <h:selectOneMenu value="#{ExperimentBean.maValeur}">
<f:selectItems value="#{ExperimentBean.mesElements}" />
</h:selectOneMenu> |
et voici l'erreur que ça me montre:
Code:
1 2
| javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.faces.el.EvaluationException: javax.faces.el.EvaluationException: Error getting property 'mesElements' from bean of type scenarios.ExperimentBean: java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from element type Object to String |
j'espere que vous pourrez m'aider.
merci d'avance.
cordialement!::)